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