How to clear NuGet cache?
Whenever a new NuGet package is installed, the NuGet package will be stored in NuGet cache location and afterwards that particular NuGet package with same version will be referred from the cache location instead of the package sources that we are configured in package manger/packages.config. If some NuGet package is updated/refreshed/patched with some additional changes with same version, it is always better to clear NuGet cache before install the updated NuGet package with same version.
We can clear the NuGet cache locations either using Visual Studio or Command Line Interface.
Using Visual Studio
- Open Visual Studio, go to Tools -> NuGet Package Manager -> Package Manager Settings menu.
- Click Clear All NuGet Cache(s) button in options dialog then clearing process is started.
- Once NuGet cache location is cleared, click ok button.
Using Command Line Interface
- Download the latest NuGet executable from here.
- Navigate the directory of the downloaded exe in command window and run the following command.
OS | Command |
---|---|
Windows | nuget locals <all | http-cache | packages-cache | global-packages | temp> -clear |
Mac | mono nuget.exe locals <all | http-cache | packages-cache | global-packages | temp> -clear |
For Example:
Windows:
Command: nuget locals all -clear
Mac:
Command: mono nuget.exe locals all -clear
Now the NuGet packages will get removed from cache location.
The above process will clear all the NuGet packages from cache location. So once cleared the NuGet cache location then every NuGet package will be downloaded/restored from source location to cache location again. If we want to avoid this case, we can navigate to NuGet cache location and delete the particular NuGet package manually. Find the NuGet cache locations by using the below command.
Windows:
Command: nuget locals all -list
Mac:
Command: mono nuget.exe locals all -list
Navigate the listed cache locations by file explorer (Windows)/finder (Mac) and remove the unrequired NuGet packages manually.