NuGet CLI reference
The NuGet Command Line Interface (CLI), nuget.exe
, provides the full extent of NuGet functionality to install, create, publish, and manage packages without making any changes to project files.
To use any command, open a command window or bash shell, then run nuget
followed by the command and appropriate options, such as nuget help pack
(to view help on the pack command).
This documentation reflects the latest version of the NuGet CLI. For exact details for any given version that you're using, run nuget help
for the desired command.
To learn how to use basic commands with the nuget.exe
CLI, see Install and use packages using the nuget.exe CLI.
Installing nuget.exe
Windows
Note
NuGet.exe 5.0 and later require .NET Framework 4.7.2 or later to execute.
- Visit nuget.org/downloads and select NuGet 3.3 or higher (2.8.6 is not compatible with Mono). The latest version is always recommended, and 4.1.0+ is required to publish packages to nuget.org.
- Each download is the
nuget.exe
file directly. Instruct your browser to save the file to a folder of your choice. The file is not an installer; you won't see anything if you run it directly from the browser. - Add the folder where you placed
nuget.exe
to your PATH environment variable to use the CLI tool from anywhere.
macOS/Linux
Behaviors may vary slightly by OS distribution.
Install Mono 4.4.2 or later.
Execute the following command at a shell prompt:
# Download the latest stable `nuget.exe` to `/usr/local/bin` sudo curl -o /usr/local/bin/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
Create an alias by adding the following script to the appropriate file for your OS (typically
~/.bash_aliases
or~/.bash_profile
):# Create as alias for nuget alias nuget="mono /usr/local/bin/nuget.exe"
Reload the shell. Test the installation by entering
nuget
with no parameters. NuGet CLI help should display.
Tip
To make the NuGet CLI available within the Package Manager Console in Visual Studio, see Using the nuget.exe CLI in the console.
Availability
See feature availability for exact details.
- All commands are available on Windows.
- All commands work with nuget.exe running on Mono except where indicated for
pack
,restore
, andupdate
. - The
pack
,restore
,delete
,locals
, andpush
commands are also available on Mac and Linux through the dotnet CLI.
Commands and applicability
Available commands and applicability to package creation, package consumption, and/or publishing a package to a host:
Common Commands | Applicable Roles | NuGet Version | Description |
---|---|---|---|
pack | Creation | 2.7+ | Creates a NuGet package from a .nuspec or project file. When running on Mono, creating a package from a project file is not supported. |
push | Publishing | All | Publishes a package to a package source. |
config | All | All | Gets or sets NuGet configuration values. |
help or ? | All | All | Displays help information or help for a command. |
locals | Consumption | 3.3+ | Lists locations of the global-packages, http-cache, and temp folders and clears the contents of those folders. |
restore | Consumption | 2.7+ | Restores all packages referenced by the package management format in use. When running on Mono, restoring packages using the PackageReference format is not supported. |
setapikey | Publishing, Consumption | All | Saves an API key for a given package source when that package source requires a key for access. |
spec | Creation | All | Generates a .nuspec file, using tokens if generating the file from a Visual Studio project. |
Secondary Commands | Applicable Roles | NuGet Version | Description |
---|---|---|---|
add | Publishing | 3.3+ | Adds a package to a non-HTTP package source using hierarchical layout. For HTTP sources, use push. |
delete | Publishing | All | Removes or unlists a package from a package source. |
init | Creation | 3.3+ | Adds packages from a folder to a package source using hierarchical layout. |
install | Consumption | All | Installs a package into the current project but does not modify projects or reference files. |
list | Consumption, perhaps Publishing | All | Displays packages from a given source. |
mirror | Publishing | Deprecated in 3.2+ | Mirrors a package and its dependencies from a source to a target repository. |
search | Consumption | 5.8+ | Searches a given source using the query string provided. |
sources | Consumption, Publishing | All | Manages package sources in configuration files. |
update | Consumption | All | Updates a project's packages to the latest available versions. Not supported when running on Mono. |
Different commands make use of various Environment variables.
NuGet CLI commands by applicable roles:
Role | Commands |
---|---|
Consumption | config , help , install , list , locals , restore , search , setapikey , sources , update |
Creation | config , help , init , pack , spec |
Publishing | add , config , delete , help , list , push , setapikey , sources |
Developers concerned only with consuming packages, for example, need only understand that subset of NuGet commands.
Note
Command option names are case-insensitive. Options that are deprecated are not included in this reference, such as NoPrompt
(replaced by NonInteractive
) and Verbose
(replaced by Verbosity
).
Localization
NuGet.exe's progress, warning and error messages are translated into the same locales as Visual Studio. NuGet.exe ships as a single exe, and due to size considerations, only the most commonly surfaced messages are translated in all languages.
Feedback
Submit and view feedback for