NuGet 命令行接口 (CLI) nuget.exe提供了 NuGet 功能的完整范围,用于安装、创建、发布和管理包,而无需对项目文件进行任何更改。
若要使用任何命令,请打开命令窗口或 bash shell,然后运行后跟 nuget 命令和相应的选项,例如 nuget help pack (查看 pack 命令上的帮助)。
本文档反映最新版本的 NuGet CLI。 有关正在使用的任何给定版本的确切详细信息,请 nuget help 运行所需的命令。
若要了解如何通过 nuget.exe CLI 使用基本命令,请参阅 使用 nuget.exe CLI 安装和使用包。
安装 nuget.exe
始终安装支持配置的工具的 最新版本 。
nuget.exe如果已安装 CLI 工具,可以使用命令nuget update -self将该工具更新到最新版本。
下载
nuget.exe:- 若要下载最新的推荐版本,请转到 https://dist.nuget.org/win-x86-commandline/latest/nuget.exe。
- 若要下载已弃用的版本 2.8.6,若要保持与较旧的持续集成系统的兼容性,请转到 https://dist.nuget.org/win-x86-commandline/v2.8.6/nuget.exe。 版本 2.8.6 与 Mono 不兼容。
- 若要选择要下载的版本,请转到 nuget.org/downloads。
- 版本 5.0 及更高版本需要.NET Framework 4.7.2 或更高版本。
- 需要版本 4.1.0 或更高版本才能将包发布到 nuget.org。
出现提示时,将文件保存到所选的文件夹。 直接下载nuget.exe 文件。 下载的文件不是安装程序,因此无需直接从浏览器运行该文件。
若要从任何文件夹中使用 CLI 工具,请将包含 nuget.exe 文件的文件夹添加到
PATH环境变量。
小窍门
若要使 NuGet CLI 在 Visual Studio 的 程序包管理器 控制台中可用,请参阅 在控制台中使用 nuget.exe CLI。
可用性
有关确切的详细信息,请参阅 功能可用性 。
- 所有命令都可用于Windows。
- 所有命令都适用于在 Mono 上运行的 nuget.exe,但指示的位置
pack除外,restore以及update。 -
packMac 和 Linux 上也通过 dotnet CLI 提供 、restoredelete、和localspush命令。
命令和适用性
可用于包创建、包使用和/或将包发布到主机的可用命令和适用性:
| 常用命令 | 适用的角色 | NuGet 版本 | 说明 |
|---|---|---|---|
| 打包 | 创建 | 2.7+ | 从 .nuspec 项目文件或项目文件创建 NuGet 包。 在 Mono 上运行时,不支持从项目文件创建包。 |
| push | Publishing | 全部 | 将包发布到包源。 |
| 配置 | 全部 | 全部 | 获取或设置 NuGet 配置值。 |
| 帮助还是? | 全部 | 全部 | 显示命令的帮助信息或帮助。 |
| 当地人 | 消耗 | 3.3+ | 列出 全局包、 http 缓存和 临时 文件夹的位置,并清除这些文件夹的内容。 |
| 还原 (restore) | 消耗 | 2.7+ | 还原正在使用的包管理格式引用的所有包。 在 Mono 上运行时,不支持使用 PackageReference 格式还原包。 |
| setapikey | 发布、消耗 | 全部 | 当包源需要密钥进行访问时,保存给定包源的 API 密钥。 |
| 规范 | 创建 | 全部 | 从Visual Studio项目中生成文件时,使用令牌生成 .nuspec 文件。 |
| 辅助命令 | 适用的角色 | NuGet 版本 | 说明 |
|---|---|---|---|
| 添加 | Publishing | 3.3+ | 使用分层布局将包添加到非 HTTP 包源。 对于 HTTP 源,请使用 推送。 |
| delete | Publishing | 全部 | 从包源中删除或取消列出包。 |
| init | 创建 | 3.3+ | 使用分层布局将文件夹中的包添加到包源。 |
| 安装 | 消耗 | 全部 | 将包安装到当前项目中,但不修改项目或引用文件。 |
| 列表 | 消耗,也许发布 | 全部 | 显示来自给定源的包。 |
| 镜子 | Publishing | 3.2+ 中已弃用 | 将包及其依赖项从源镜像到目标存储库。 |
| 搜索 | 消耗 | 5.8+ | 使用提供的查询字符串搜索给定的源。 |
| 来源 | 消耗、发布 | 全部 | 管理配置文件中的包源。 |
| 更新 | 消耗 | 全部 | 将项目的包更新到最新的可用版本。 在 Mono 上运行时不受支持。 |
不同的命令使用各种 环境变量。
按适用角色提供的 NuGet CLI 命令:
| 角色 | 指令 |
|---|---|
| 消耗 |
config、help、install、list、locals、restore、search、setapikey、sources、update |
| 创建 |
config、help、init、pack、spec |
| Publishing |
add、config、delete、help、list、push、setapikey、sources |
例如,仅涉及使用包的开发人员只需了解 NuGet 命令的子集。
注释
命令选项名称不区分大小写。 此引用中不包括已弃用的选项,例如 NoPrompt (替换为 NonInteractive)和 Verbose (替换为 Verbosity)。
Localization
NuGet.exe的进度、警告和错误消息将转换为与Visual Studio相同的区域设置。 NuGet.exe 作为单个 exe 提供,并且由于大小考虑,仅以所有语言翻译最常见的浮出消息。