Gerenciar pacotes NuGet com a CLI do NuGet

Você pode usar a ferramenta de CLI nuget.exe para gerenciar pacotes NuGet em projetos e soluções do Visual Studio. Este artigo descreve os comandos mais comuns da CLI do NuGet para gerenciar pacotes NuGet. Todos esses comandos funcionam no Windows, e a maioria funciona no Mac e no Linux com Mono.

A CLI do NuGet funciona em projetos .NET Framework e em estilo não SDK, por exemplo, projetos estilo não SDK que têm como objetivo bibliotecas .NET Standard). Os comandos da CLI do NuGet podem usar um arquivo packages.config do projeto que lista referências de pacote. Para projetos estilo não SDK que usam PackageReference em vez de packages.config para referências de pacote, use a CLI do dotnet.

Observação

Para a maioria dos projetos estilo não SDK que usam packages.config, é melhor migrar packages.config para PackageReference e usar a CLI do dotnet em vez da CLI do NuGet para gerenciar pacotes. No entanto, não é possível migrar projetos C++ ou ASP.NET.

Para a maioria dos comandos, a ferramenta de CLI do NuGet usa o diretório atual, a menos que você especifique um local diferente no comando. Para executar comandos da CLI do NuGet, abra uma linha de comando e alterne para o diretório que contém o arquivo de projeto.

Para obter uma lista completa de comandos e seus argumentos, consulte Referência da CLI do NuGet.

Pré-requisitos

Baixe a CLI do NuGet de nuget.org. Salve o arquivo nuget.exe em um diretório adequado e verifique se o diretório está na variável de ambiente PATH.

Observação

Você também pode usar a ferramenta winget para Windows ou Homebrew para macOS.

Para descobrir sua versão da CLI do NuGet, abra uma linha de comando e execute nuget help ou, para evitar ter que rolar para cima, use nuget help | more. A primeira linha na saída da ajuda mostra a versão.

Instalar um pacote

O comando install da CLI do NuGet baixa e instala pacotes NuGet especificados.

Importante

O comando install não modifica o arquivo de projeto nem o arquivo packages.config. Os comandos install e restore só adicionam pacotes ao disco, mas não adicionam dependências a projetos. Para adicionar dependências de projeto, adicione pacotes por meio da Interface do usuário do Gerenciador de Pacotes do Visual Studio ou do Console do Gerenciador de Pacotes e, em seguida, execute install ou restore.

Use a opção -OutputDirectory para instalar pacotes em um diretório específico. Se você não especificar um diretório de saída, install usará o diretório atual.

nuget install <packageID | configFilePath> -OutputDirectory <outputDirectory>

Por exemplo, para instalar o pacote Newtonsoft.json no subdiretório packages, use o seguinte comando:

nuget install Newtonsoft.Json -OutputDirectory packages

Em vez de especificar um pacote para instalar, você pode especificar um arquivo packages.config existente no diretório atual ou em outro diretório. O comando install instala todos os pacotes listados no arquivo packages.config.

nuget install packages.config

Por exemplo, o comando a seguir instala todos os pacotes listados em packages.config no subdiretório config no subdiretório packages:

nuget install config\packages.config -OutputDirectory packages

Instalar uma versão específica de um pacote

O comando install instala a última versão de um pacote, a menos que você especifique uma versão diferente. Para instalar uma versão específica de um pacote, use a opção -Version:

nuget install <packageID | configFilePath> -Version <version>

Por exemplo, para instalar a versão 12.0.1 do pacote Newtonsoft.json, use este:

nuget install Newtonsoft.Json -Version 12.0.1

Listar pacotes

Use o comando list para exibir uma lista de pacotes instalados nas pastas de pacotes. Use a opção -Source para restringir a lista.

nuget list -Source <source>

Por exemplo, para listar pacotes no subdiretório packages de MyProject, use:

nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages

Você também pode usar um termo de pesquisa para pesquisar nomes de pacotes, tags ou descrições:

nuget list <"search term"> -Source <source>

Atualizar todos os pacotes

Use o comando update para atualizar todos os pacotes no arquivo packages.config de um projeto para suas versões mais recentes disponíveis. É melhor executar restore antes de executar update.

nuget update

Remover um pacote

Para remover um pacote, exclua-o da pasta do projeto. Para reinstalar pacotes, use os comandos restore ou install.

Excluir pacotes do disco não atualiza os arquivos packages.config ou NuGet.Config do projeto. A melhor maneira de remover pacotes é por meio da interface do usuário do Gerenciador de Pacotes do Visual Studio ou do Console do Gerenciador de Pacotes.

Restaurar pacotes

O comando restore da CLI do NuGet baixa e instala todos os pacotes ausentes. O comando funciona em projetos que usam PackageReference ou packages.config para referências de pacote.

Como install, o comando restore só adiciona pacotes ao disco, mas não modifica o arquivo de projeto ou packages.config. Para adicionar dependências de projeto, use a interface do usuário ou o console do Gerenciador de Pacotes do Visual Studio.

Para restaurar pacotes, execute o seguinte comando:

nuget restore <projectPath>

O comando restore usa um arquivo de solução ou um arquivo package.config no caminho do projeto especificado.

Por exemplo, para restaurar todos os pacotes para MySolution.sln no diretório atual, execute:

nuget restore MySolution.sln

Observação

Para projetos estilo não SDK que usam PackageReference, use msbuild -t:restore para restaurar pacotes.

Para saber mais, consulte Restaurar pacotes.

Próximas etapas