我可以清除我的开发计算机的NuGet包缓存使用Visual Studio菜单工具→选项→NuGet包管理器→通用:清除包缓存按钮。

我希望在命令行上执行此操作。不幸的是,我找不到nuget.exe的相关命令行开关。

我错过什么了吗?


当前回答

对我来说,我必须在这里:

%userprofile%\.nuget\packages

其他回答

你也可以使用PowerShell(和我一样)。

例如:

rm $env:LOCALAPPDATA\NuGet\Cache\*.nupkg

或“安静”模式(没有错误消息):

rm $env:LOCALAPPDATA\NuGet\Cache\*.nupkg 2> $null

注意,dnx有一个不同的缓存来提供HTTP结果:

Microsoft .NET Development Utility Clr-x86-1.0.0-rc1-16231
   CACHE https://www.nuget.org/api/v2/
   CACHE http://192.168.148.21/api/odata/

你能澄清吗

dnu clear-http-cache

现在我们只需要找出新的dotnet CLI工具上的命令是什么。

...就是这样:

dotnet restore --no-cache

对于那些在RHEL7上安装nuget的人(例如,从EPEL存储库中),使用sudo yum install nuget,这里是本地缓存的位置:

~/.local/share/NuGet/Cache

首先,从这里下载NuGet命令行工具。

接下来,打开命令提示符并cd到nuget.exe下载到的目录。

你可以用这个命令列出本地缓存:

nuget locals all -list

你可以用这个命令清除所有的缓存:

nuget locals all -clear

参考:https://docs.nuget.org/consume/command-line-reference

这增加了rm8x的答案。

下载并安装NuGet命令行工具。

来自Chocolatey→https://chocolatey.org/packages/NuGet.CommandLine 从NuGet.org→https://www.nuget.org/

列出我们所有的局部变量:

$ nuget locals all -list
http-cache: C:\Users\MyUser\AppData\Local\NuGet\v3-cache
packages-cache: C:\Users\MyUser\AppData\Local\NuGet\Cache
global-packages: C:\Users\MyUser\.nuget\packages\

我们现在可以手动删除这些,或者像rm8x建议的那样,使用nuget locals all -clear。