Nugetのグローバルキャッシュディレクトリを変更する
やりたいこと
具体的にいつから変わったのかは知らないのですが、Visual Studioで.NET Coreや.NET Standardのプロジェクトを作成するとcsprojファイルが大変シンプルにました。そしてNugetの依存パッケージが従来のソリューションディレクトリ下のPackagesディレクトリではなく、どこかのグローバルキャッシュディレクトリに保存されるようになりました。それ自体はとても嬉しいのですが、段々とCドライブの容量を圧迫し始めたため、別のドライブに移動をしたいなぁ、、、と。
TL;DR
ユーザー毎の設定なら %APPDATA%\NuGet\NuGet.Config
に、全ユーザー設定なら %ProgramFiles(x86)%\NuGet\Config\***.config
に対して、 globalPackagesFolder
というキーで変更先のキャッシュディレクトリを記述する。なお、今回はユーザー毎の設定のみ変更して動作を確認したため、全ユーザー向けは動作未確認。
環境
- Windows 10 x64
- Visual Studio 2017 (15.4.3)
変更するには
標準のグローバルキャッシュディレクトリの位置
標準のグローバルキャッシュディレクトリはユーザーディレクトリの下、 %UserProfile%\.nuget\packages
(ex. C:\Users\noxi\.nuget
) です。私の場合5GB超ありました。重すぎる。。
設定ファイルのパス
設定ファイルには二種類あります。全ユーザー共通の設定ファイルと、ユーザー個別の設定ファイルです。今回は個別ユーザーの設定ファイルを変更しました。
種別 | パス | 例 |
---|---|---|
全ユーザー | %ProgramFiles(x86)%\NuGet\Config\***.config |
|
個別ユーザー | %APPDATA%\NuGet\NuGet.Config |
C:\Users\noxi\AppData\Roaming\NuGet\Nuget.Config |
キャッシュディレクトリの設定
キャッシュディレクトリの位置を変更するには、設定ファイルに以下の様に globalPackagesFolder
を記述します。
<?xml version="1.0" encoding="utf-8"?> <configuration> <config> <add key="globalPackagesFolder" value="F:\.nuget\packages" /> </config> </configuration>