NuGet.exe CLI を使用して NuGet パッケージを管理する
CLI ツールを nuget.exe
使用して、Visual Studio のプロジェクトとソリューション内の NuGet パッケージを管理できます。 この記事では、NuGet パッケージを管理するために、良く使われる NuGet CLI コマンドについて説明します。 説明するコマンドはすべて Windows で動作させるものですが、そのほとんどのコマンドは、 Mac や Linux や Mono でも動作します。
NuGet CLI は、NET Framework プロジェクトと非 SDK スタイルのプロジェクト (例: .NET Standard ライブラリを対象とする非 SDK スタイルのプロジェクト) で動作します。 NuGet CLI コマンドでは、パッケージ参照を一覧表示する project packages.config ファイルを使用できます。 パッケージ参照に packages.config を使う代わりに PackageReference
を使用する非SDK スタイルのプロジェクトの場合は、代わりに dotnet CLI を使用します。
Note
packages.config を使用する非SDK スタイルのほとんどのプロジェクトでは、packages.config を PackageReference に移行してから、NuGet CLI ではなく dotnet CLI を使用してパッケージを管理することをお勧めします。 ただし、C++ または ASP.NET のプロジェクトは移行することができません。
ほとんどのコマンドでは、コマンドで別の場所を指定しない限り、NuGet CLI ツールは現在のディレクトリを使用します。 NuGet CLI のコマンドを実行するには、コマンド ラインを開き、プロジェクト ファイルが含まれているディレクトリに切り替えます。
コマンドと使用できる引数の一覧表については、「nuget.exe CLI リファレンス」を参照してください。
前提条件
nuget.org から NuGet CLI をダウンロードします。nuget.exe ファイルを適切なディレクトリに保存し、ディレクトリが PATH 環境変数にあることを確認します。
NuGet CLI のバージョンを確認するには、コマンド ラインを開いて nuget help
を実行します。上にスクロールしないようにするためには nuget help | more
を使用します。 ヘルプ出力の最初の行は、バージョンを示しています。
パッケージをインストールする
NuGet CLI のインストール コマンドを使用すると、指定された NuGet パッケージをダウンロードしてインストールします。
重要
install
コマンドによってプロジェクト ファイルや packages.config ファイルが変更されることはありません。 コマンドとinstall
と restore
を使用すると、パッケージをディスクにのみ追加します。プロジェクトに依存関係は追加しません。 プロジェクトの依存関係を追加するには、Visual Studio パッケージ マネージャー か パッケージ マネージャー コンソール を使用してパッケージを追加し、install
か restore
を実行します。
オプション -OutputDirectory
を使用して、特定のディレクトリにパッケージをインストールします。 出力ディレクトリを指定しない場合は、 install
で現在のディレクトリを使用します。
nuget install <packageID | configFilePath> -OutputDirectory <outputDirectory>
たとえば、パッケージ Newtonsoft.json
を packages のサブディレクトリにインストールするには、次のコマンドを使用します。
nuget install Newtonsoft.Json -OutputDirectory packages
インストールするパッケージを指定する代わりに、現在のディレクトリまたは別のディレクトリに既存の packages.config ファイルを指定できます。 install
コマンドを使用すると、packages.config ファイルに一覧表示されているすべてのパッケージをインストールします。
nuget install packages.config
たとえば、次のコマンドを使用すると、config サブディレクトリの packages.config に一覧表示されているすべてのパッケージを packages サブディレクトリにインストールします。
nuget install config\packages.config -OutputDirectory packages
パッケージの特定のバージョンをインストールする
パッケージのバージョンを指定しない限り、install
コマンドを使用すれば、最新版のパッケージがインストールされます。 特定のパッケージのバージョンをインストールするには、-Version
を使用する。
nuget install <packageID | configFilePath> -Version <version>
たとえば、Newtonsoft.json
パッケージのバージョン 12.0.1 をインストールするには、次のコマンドを使用します。
nuget install Newtonsoft.Json -Version 12.0.1
パッケージをリストする
list コマンドを使用すると、パッケージ フォルダーにインストールされているパッケージが一覧で表示されます。 -Source
オプションを使用すると、表示するリストの制限ができます。
nuget list -Source <source>
たとえば、MyProject の packages のサブディレクトリにパッケージを一覧で表示するには、次のコマンドを使用します。
nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages
検索用語を使用して、パッケージ名、タグ、または記述を検索することもできます。
nuget list <"search term"> -Source <source>
すべてのパッケージを更新する
update コマンドを使用すると、packages.config ファイル内のすべてのパッケージを使用可能な最新バージョンに更新します。 restore
を実行する前に update
を実行するのもお勧めです。
nuget update
パッケージを削除する
パッケージを削除するには、プロジェクト フォルダーからそのパッケージを削除してください。 パッケージを再インストールする場合、restore
か install
のコマンドを使用します。
ディスクからパッケージを削除しても、プロジェクト、 packages.config や NuGet.Config ファイルのプロジェクトは更新されません。 パッケージを削除するのに一番いい方法は、Visual Studio パッケージ マネージャー UI や パッケージ マネージャー コンソールを使用することです。
パッケージの復元
NuGet CLI 復元 コマンドを使用すると、不足しているパッケージをダウンロードしてインストールします。 このコマンドは、パッケージ参照に PackageReference や packages.config を使用するプロジェクトで機能します。
install
や restore
のようなコマンドはパッケージをディスクにのみ追加し、プロジェクト ファイルや packages.config は変更されません。プロジェクトの依存関係を追加するには、Visual Studio パッケージ マネージャー UI かパッケージ マネージャー コンソールを使用します。
パッケージを復元するには、次のコマンドを実行します。
nuget restore <projectPath>
restore
コマンドを使用すると、指定されたプロジェクト パス内の ソリューション ファイルか package.config ファイルを使用します。
たとえば、MySolution.sln のすべてのパッケージを現在のディレクトリに復元するには、次のコマンドを実行します。
nuget restore MySolution.sln
Note
非SDK スタイルのプロジェクトを使用する場合は、代わりに PackageReference
か msbuild -t:restore を使用してパッケージを復元します。
詳しくは、パッケージの復元に関する記事をご覧ください。