NuGet CLI 引用

NuGet 命令行接口 (CLI) nuget.exe 提供完整的 NuGet 功能,以便用于安装、创建、发布和管理包,而无需对项目文件进行任何更改。

若要使用任何命令,请打开命令窗口或 bash shell,然后运行 nuget 并后跟此命令和相应选项,例如 nuget help pack(用于查看针对 pack 命令的帮助)。

本文档展示了最新版本的 NuGet CLI。 有关当前所用任意给定版本的确切详细信息,请为所需命令运行 nuget help

要了解如何在 nuget.exe CLI 中使用基本命令,请参阅使用 nuget.exe CLI 安装并使用包

安装 nuget.exe

始终安装支持配置的最新版本的工具。

  • 可从 https://dist.nuget.org/win-x86-commandline/latest/nuget.exe 下载最新推荐版本。
  • 如果已安装 nuget.exe CLI 工具,可使用命令 nuget update -self 将工具更新至最新版本。
  • 为了实现与旧版持续集成系统的兼容性,旧 URL https://nuget.org/nuget.exe 当前提供弃用的 2.8.6 版 CLI 工具。
  1. 请访问 nuget.org/downloads,下载 3.3 或更高版本的 NuGet。

    • 版本 5.0 及更高版本要求使用 .NET Framework 4.7.2 或更高版本。
    • 需要版本 4.1.0 及更高版本才能将包发布到 nuget.org
    • 版本 2.8.6 不兼容 Mono
  2. 每次下载都直接下载 nuget.exe 文件。 让浏览器将文件保存到选定文件夹。 此下载文件不是安装程序,因此如果直接在浏览器中运行此文件,不会看到任何内容。

  3. 若要随时随地使用 CLI 工具,请将 nuget.exe 文件的文件夹位置添加到 PATH 环境变量。

提示

若要使 NuGet CLI 可在 Visual Studio 的包管理器控制台中使用,请参阅在控制台中使用 nuget.exe CLI

可用性

有关确切详细信息,请参阅功能可用性

  • 所有命令均可在 Windows 上使用。
  • 所有命令均适用于在 Mono 上运行的 nuget.exe,但为 packrestoreupdate 进行了指示的情况例外。
  • packrestoredeletelocalspush 命令也可通过 dotnet CLI 在 Mac 和 Linux 上使用。

命令和适用性

可用于包创建、包使用和/或将包发布到主机的可用命令和适用性:

常见命令 适用角色 NuGet 版本 说明
打包 创建 2.7+ .nuspec 或项目文件创建 NuGet 包。 在 Mono 上运行时,不支持从项目文件创建包。
push 发布 全部 将包发布到包源。
config 全部 全部 获取或设置 NuGet 配置值。
help or ? 全部 全部 显示命令的帮助信息或帮助。
locals 消耗 3.3 及以上版本 列出 global-packageshttp-cachetemp 文件夹的位置,并清除这些文件夹的内容。
还原 (restore) 消耗 2.7+ 还原正在使用的包管理格式所引用的全部包。 在 Mono 上运行时,不支持使用 PackageReference 格式来还原包。
setapikey 发布、使用 全部 当包源需要密钥才能进行访问时,保存给定包源的 API 密钥。
spec 创建 全部 使用令牌生成 .nuspec 文件(如果从 Visual Studio 项目生成此文件)。
辅助命令 适用角色 NuGet 版本 说明
add 发布 3.3 及以上版本 使用分层布局将包添加到非 HTTP 包源。 对于 HTTP 源,请使用 push
delete 发布 全部 从包源中删除或取消列出包。
init 创建 3.3 及以上版本 使用分层布局将文件夹中的包添加到包源。
install 消耗 全部 将包安装到当前项目,但不修改项目或引用文件。
list 使用、发布(有可能) 全部 显示来自给定源的包。
mirror 发布 已在 3.2 及以上版本中弃用 将包及其依赖项从源镜像到目标存储库。
search 消耗 5.8 及以上版本 使用提供的查询字符串搜索给定源。
sources 使用、发布 全部 管理配置文件中的包源。
update 消耗 全部 将项目的包更新到最新可用版本。 在 Mono 上运行时不受支持。

不同命令会使用各种环境变量

按适用角色划分的 NuGet CLI 命令:

角色 命令
消耗 confighelpinstalllistlocalsrestoresearchsetapikeysourcesupdate
创建 confighelpinitpackspec
发布 addconfigdeletehelplistpushsetapikeysources

例如,仅涉及使用包的开发人员只需了解 NuGet 命令的对应子集。

注意

命令选项名称不区分大小写。 此参考中不包括已弃用的选项,例如 NoPrompt(已替换为 NonInteractive)和 Verbose(已替换为 Verbosity)。

本地化

NuGet.exe 的进度、警告和错误消息将转换为与 Visual Studio 相同的区域设置。 NuGet.exe 会以单个 exe 的形式提供,且出于大小考虑,仅以所有语言翻译最常出现的消息。