本文适用于: ✔️ .NET Core 3.1 SDK 及更高版本
“属性”
dotnet tool install - 在计算机上安装指定的 .NET 工具。
摘要
dotnet tool install <PACKAGE_NAME> -g|--global
[--allow-downgrade] [--allow-roll-forward] [-a|--arch <ARCHITECTURE>]
[--add-source <SOURCE>] [--configfile <FILE>] [--disable-parallel]
[--framework <FRAMEWORK>] [--ignore-failed-sources] [--interactive]
[--no-cache] [--prerelease]
[--tool-manifest <PATH>] [-v|--verbosity <LEVEL>]
[--version <VERSION_NUMBER>]
dotnet tool install <PACKAGE_NAME> --tool-path <PATH>
[--allow-downgrade] [--allow-roll-forward] [-a|--arch <ARCHITECTURE>]
[--add-source <SOURCE>] [--configfile <FILE>] [--disable-parallel]
[--framework <FRAMEWORK>] [--ignore-failed-sources] [--interactive]
[--no-cache] [--prerelease]
[--tool-manifest <PATH>] [-v|--verbosity <LEVEL>]
[--version <VERSION_NUMBER>]
dotnet tool install <PACKAGE_NAME> [--local]
[--allow-downgrade] [--allow-roll-forward] [-a|--arch <ARCHITECTURE>]
[--add-source <SOURCE>] [--configfile <FILE>]
[--create-manifest-if-needed] [--disable-parallel]
[--framework <FRAMEWORK>] [--ignore-failed-sources] [--interactive]
[--no-cache] [--prerelease]
[--tool-manifest <PATH>] [-v|--verbosity <LEVEL>]
[--version <VERSION_NUMBER>]
dotnet tool install -h|--help
描述
dotnet tool install 命令提供一种在计算机上安装 .NET 工具的方法。 若要使用命令,请指定以下安装选项之一:
- 若要在默认位置中安装全局工具,请使用
--global选项。 - 若要在自定义位置中安装全局工具,请使用
--tool-path选项。 - 若要安装本地工具,请省略
--global和--tool-path选项。
警告
确保使用 --tool-path 选项指定的目录是安全的。 可以直接执行此位置中安装的工具,因此使用不受信任的或共享路径可能会导致安全风险。
安装位置
全局工具
指定 -g 或 --global 选项时,全局工具默认安装在以下目录中:
| (OS) | 路径 |
|---|---|
| Linux/macOS作系统 | $HOME/.dotnet/tools |
| Windows操作系统 | %USERPROFILE%\.dotnet\tools |
可执行文件是在每个全局安装工具的这些文件夹中生成的,尽管实际工具二进制文件嵌套在同级.store目录中。
注意
使用 dotnet tool 安装命令行工具后,在 Linux 上,只能从 $HOME/.dotnet/tools 路径执行该工具。
若要使工具从任何目录中执行,请更新 PATH 环境变量。
若要使更新 PATH 后的环境变量永久保存在 shell 中,请更新 shell 设置。
对于 Bash,这是 $HOME/.bashrc 文件。
--tool-path 工具
具有显式工具路径的本地工具存储在指定--tool-path参数要指向的位置。 它们的存储方式与全局工具相同:可执行二进制文件,其实际二进制文件位于同级.store目录中。
本地工具
本地工具存储在 NuGet 全局目录中,无论将其设置为什么。
$HOME/.dotnet/toolResolverCache中每个本地工具都有填充码文件,这些文件指向工具在该位置中的位置。
对本地工具的引用会添加到当前目录下.config目录中的dotnet-tools.json文件中。 从 .NET 10 开始,如果清单文件尚不存在,则会自动创建一个清单文件。 还可以通过运行以下命令手动创建一个:
dotnet new tool-manifest
有关详细信息,请参阅安装本地工具。
自变量
PACKAGE_NAME包含要安装的 .NET 工具的 NuGet 包的名称/ID。
选项
--allow-downgrade允许在安装或更新 .NET 工具包时降级包。 禁止显示警告:“请求的版本 x.x.x 低于现有版本 x.x.x。
--allow-roll-forward从 .NET 9.0 SDK 开始可用。 如果未安装面向的运行时,允许工具使用较新版本的 .NET 运行时。
-a|--arch <ARCHITECTURE>指定目标体系结构。 这是用于设置运行时标识符 (RID) 的简写语法,其中提供的值与默认 RID 相结合。 例如,在
win-x64计算机上,指定--arch x86会将 RID 设置为win-x86。
--add-source <SOURCE>添加安装过程中要使用的其他 NuGet 包源。 系统会并行访问这些源,而不是按某种优先级顺序依次访问。 如果同一个包和版本在多个源中,则选取速度最快的源。 有关详细信息,请查看安装 NuGet 包时会发生什么情况?。
--configfile <FILE>要使用的 NuGet 配置文件 (nuget.config)。 如果指定,则只使用此文件中的设置。 如果不指定,将使用当前目录中的配置文件的层次结构。 有关详细信息,请参阅常见的 NuGet 配置。
--create-manifest-if-needed从 .NET 8 SDK 开始可用。
适用于本地工具。 要查找清单,搜索算法会在目录树中搜索
dotnet-tools.json或包含.config文件的dotnet-tools.json文件夹。如果找不到工具清单,并且该
--create-manifest-if-needed选项设置为false,则CannotFindAManifestFile会发生错误。如果找不到工具清单,并且选项
--create-manifest-if-needed设置为true(或者,如果未指定时在 .NET 10 及更高版本中),该工具会自动创建清单。 它会为清单选择文件夹,如下所示:- 沿着目录树搜索具有子
.git文件夹的目录。 如果找到目录,请在该目录中创建清单。 - 如果上一步找不到目录,请逐步执行目录树,搜索包含
.sln或.git文件的目录。 如果找到目录,请在该目录中创建清单。 - 如果前两个步骤都找不到目录,请在当前工作目录中创建清单。
有关清单的定位方式的详细信息,请参阅 安装本地工具。
从 .NET 10 开始,如果未找到工具清单,则会自动创建清单。 此更改可能是一项 重大更改。 可以通过传递
--create-manifest-if-needed=false来选择退出。警告
请勿从 Downloads 文件夹或任何共享位置运行工具命令。 CLI 将引导目录树来查找工具清单,这可能会导致它使用你不需要的清单。 始终从受信任的特定于项目的目录运行工具命令。
- 沿着目录树搜索具有子
--disable-parallel防止并行还原多个项目。
--framework <FRAMEWORK>指定要安装工具的目标框架。 默认情况下,.NET SDK 尝试选择最合适的目标框架。
-g|--global指定安装是用户范围的。 不能与
--tool-path选项一起使用。 省略--global和--tool-path指定本地工具安装。--source <SOURCE>指定 NuGet 包的源。 此源将替换所有 NuGet 包源。
-?|-h|--help打印出有关如何使用命令的说明。
--ignore-failed-sources将包源失败视为警告。
--interactive允许命令停止并等待用户输入或操作。 例如,完成身份验证。
--local更新工具和本地工具清单。 不能与
--global选项或--tool-path选项一起使用。--no-cache或--no-http-cache不缓存包和 HTTP 请求。
--prerelease包括预发行包。
--tool-manifest <PATH>清单文件的路径。
--tool-path <PATH>指定要安装全局工具的位置。 路径可以是绝对的,也可以是相对的。 如果路径不存在,命令会尝试创建它。 省略
--global和--tool-path指定本地工具安装。
-v|--verbosity <LEVEL>设置命令的详细级别。 允许使用的值为
q[uiet]、m[inimal]、n[ormal]、d[etailed]和diag[nostic]。 有关详细信息,请参阅 LoggerVerbosity。
--version <VERSION_NUMBER>要安装的工具版本。 默认情况下,安装最新的稳定包版本。 使用此选项安装工具的预览版或较旧版本。
从 .NET 8 开始,
--version Major.Minor.Patch是指特定的主要/次要/修补程序版本,包括未列出的版本。 要改为获取特定主要/次要版本的最新版本,请使用--version Major.Minor.*。
示例
dotnet tool install -g dotnetsay在默认位置中安装 dotnetsay 全局工具。
dotnet tool install dotnetsay --tool-path c:\global-tools在特定 Windows 目录中安装 dotnetsay 全局工具。
dotnet tool install dotnetsay --tool-path ~/bin在特定 Linux/macOS 目录中安装 dotnetsay 全局工具。
dotnet tool install -g dotnetsay --version 2.0.0安装 2.0.0 版的 dotnetsay 全局工具。
dotnet tool install dotnetsay在当前目录中安装 dotnetsay 本地工具。
dotnet tool install -g dotnetsay --verbosity minimal将 dotnetsay 安装为全局工具,其详细程度最低。 全局工具的默认详细程度为安静。
dotnet tool install -g dotnetsay --allow-roll-forward将 dotnetsay 安装为全局工具,并允许它在较新的 .NET 版本上运行(如果目标运行时不可用)。