2016/01/20

nupkgファイルのキャッシュをクリアしたい

ここ数日、Windows Server 2012 R2 EssentialsのIISにNuGet Serverを立ててPackagemanagement(a.k.a OneGet)を遊んでいます。
あるアプリケーションのnupkgファイルが既に配置されている状況でnupkgファイルを更新(push)しました。
Install-Package コマンドレットを実行すると更新前と同じ挙動になる問題に直面、ローカル コンピューター側キャッシュをクリアする事で回避できました。
今回は、nupkg ファイルのキャッシュをクリアする方法をメモ。

nupkg ファイルのキャッシュはどこにあるのか?

nupkg ファイルのキャッシュはMicrosoft エバンジェリスト 井上章さんのブログ記事で説明されていました。
NuGet をオフラインで使用する - THE TRUTH IS OUT THERE - Site Home - MSDN Blogs
nupkgファイルのキャッシュはInstall-Package コマンドレットを実行したPCの
C:\Users\<UserName>\AppData\Local\nuget\Cache
に保存されているので、対象となるnupkgファイルを削除する事で解決できました。
が、こういう仕様なのかが非常に気になっています。

PowerShellを使ってnupkgを削除する

PowerShellから対象のnupkgを削除するサンプルです。
#.nupkg Cache Path
$p = "$env:USERPROFILE\AppData\Local\nuget\Cache"

#Remove File Name
$file = "削除したいファイル名"

#Get File List
gci $p

#Remove .nupkg
Remove-Item -Path "$p\$file" -Force -ErrorAction Stop
スポンサーリンク

スポンサーリンク