首页 文章

如何使用命令行清除NuGet包缓存?

提问于
浏览
297

我可以使用VS Tools / Options / NuGet Package Manager / General:[Clear Package Cache]按钮清除我的开发计算机的NuGet包缓存 .

我想在命令行中执行此操作 . 不幸的是我找不到nuget.exe的相关命令行开关 .

我错过了什么?

8 回答

  • 17

    你可以使用powershell(和我一样) .

    例如:

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

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

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

    请注意, 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
    
  • 3

    首先,从here下载NuGet命令行工具 .

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

    您可以使用以下命令列出本地缓存:

    nuget locals all -list
    

    您可以使用此命令清除所有缓存:

    nuget locals all -clear
    

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

  • 464

    如果您需要为构建服务器/代理清除Nuget缓存,可以在此处找到Nuget包的缓存:

    %windir%/ServiceProfiles/[account under build service runs]\AppData\Local\NuGet\Cache

    示例:C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ NuGet \ Cache

  • 152

    这增加了rmoore的答案 .

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

    来自Chocolaty的

    列出我们所有的当地人 .

    $ 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\
    

    我们现在可以手动删除它们,或者如rmoore建议的那样,使用 nuget locals all -clear .

  • 82

    在Visual Studio 2017中,转到工具 - > Nuget包管理器 - >包管理器设置 . 你可能会发现一个按钮"Clear All NuGet Cache(s)"

    如果您使用的是.NET Core,则可以使用此命令清除缓存,该命令应该从.NET Core工具1.0开始工作:

    dotnet nuget locals all --clear

  • 5

    对我来说,我必须进去:

    %userprofile%\.nuget\packages
    
  • 8

    nuget.exe实用程序没有此功能,但是看到NuGet Cache只是计算机上的文件夹,您可以手动删除这些文件 . 只需将其添加到批处理文件中即可 .

    del %LOCALAPPDATA%\NuGet\Cache\*.nupkg /q
    

相关问题