Как очистить кеш пакетов NuGet с помощью командной строки?

Я могу очистить кеш-память NuGet моего компьютера, используя VS Tools/Options/NuGet Package Manager/General: [Clear Cache].

Я хотел бы сделать это в командной строке. К сожалению, я не могу найти соответствующий переключатель командной строки для nuget.exe.

Я что-то пропустил?

Ответ 1

Сначала загрузите инструмент командной строки NuGet из здесь.

Затем откройте командную строку и cd в каталог, в который была загружена nuget.exe.

Вы можете указать локальные кеши с помощью этой команды:

nuget locals all -list

Вы можете очистить все кеши с помощью этой команды:

nuget locals all -clear

Ссылка: https://docs.nuget.org/consume/command-line-reference

Ответ 2

В Visual Studio 2017 перейдите в TOOLS → Nuget Package Manager → Настройки диспетчера пакетов. Вы можете найти кнопку "Очистить все кеши NuGet", введите описание изображения здесь

Если вы используете .NET Core, вы можете очистить кеш этой командой, которая должна работать с .NET Core tools 1.0:

dotnet nuget locals all --clear

Ответ 3

У утилиты nuget.exe нет этой функции, но, увидев, что кэш NuGet - это просто папка на вашем компьютере, вы можете удалить файлы вручную. Просто добавьте это в свой командный файл.

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

Ответ 4

Мне нужно было здесь:

%userprofile%\.nuget\packages

Ответ 5

Это добавляет ответ rmoore.

Загрузите и установите инструмент командной строки NuGet.

Перечислите всех наших локальных жителей.

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

Ответ 6

Обратите внимание, что 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

обновить... и вот оно:

dotnet restore --no-cache

Ответ 7

Если вам нужно очистить кэш Nuget для вашего сервера/агента сборки, вы можете найти кеш для пакетов Nuget здесь:

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

Пример: C:\Windows\ServiceProfiles\NetworkService\AppData\Local\NuGet\Cache

Ответ 8

Очистите 3. x+ кеш (используйте любую команду)

dotnet nuget locals http-cache --clear
nuget locals http-cache -clear

Очистить кеш 2.x (только для NuGet CLI 3.5 и более ранних версий)

nuget locals packages-cache -clear

Очистить папку глобальных пакетов (используйте любую команду)

dotnet nuget locals global-packages --clear
nuget locals global-packages -clear

Очистить временный кеш (используйте любую команду)

dotnet nuget locals temp --clear
nuget locals temp -clear

Очистить кеш плагинов (используйте любую команду)

dotnet nuget locals plugins-cache --clear
nuget locals plugins-cache -clear

Очистить все кэши (используйте любую команду)

dotnet nuget locals all --clear
nuget locals all -clear

Все пакеты, используемые проектами, которые в данный момент открыты в Visual Studio, не удаляются из папки global-packages.

Больше подробностей

Ответ 9

Вы можете использовать powershell для (так же, как и я).

Например:

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

или "тихий" режим (без сообщений об ошибках):

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

Ответ 10

dotnet nuget locals all --clear

Если вы используете .NET Core.