dotnet-tool-install(1) | .NET Documentation | dotnet-tool-install(1) |
This article applies to: ✔️ .NET Core 3.1 SDK and later versions
dotnet-tool-install - Installs the specified .NET tool on your machine.
dotnet tool install <PACKAGE_NAME> -g|--global [-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> [-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] [-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
The dotnet tool install command provides a way for you to install .NET tools on your machine. To use the command, you specify one of the following installation options:
Global tools are installed in the following directories by default when you specify the -g or --global option:
OS | Path |
Linux/macOS | $HOME/.dotnet/tools |
Windows | %USERPROFILE%\.dotnet\tools |
Executables are generated in these folders for each globally installed tool, although the actual tool binaries are nested deep into the sibling .store directory.
Local tools with explicit tool paths are stored wherever you specified the --tool-path parameter to point to. They’re stored in the same way as global tools: an executable binary with the actual binaries in a sibling .store directory.
Local tools are stored in the NuGet global directory, whatever you’ve set that to be. There are shim files in $HOME/.dotnet/toolResolverCache for each local tool that point to where the tools are within that location.
References to local tools are added to a dotnet-tools.json file in a .config directory under the current directory. If a manifest file doesn’t exist yet, create it by using the --create-manifest-if-needed option or by running the following command:
dotnet new tool-manifest
For more information, see Install a local tool.
Name/ID of the NuGet package that contains the .NET tool to install.
Specifies the target architecture. This is a shorthand syntax for setting the Runtime Identifier (RID), where the provided value is combined with the default RID. For example, on a win-x64 machine, specifying --arch x86 sets the RID to win-x86.
Adds an additional NuGet package source to use during installation. Feeds are accessed in parallel, not sequentially in some order of precedence. If the same package and version is in multiple feeds, the fastest feed wins. For more information, see What happens when a NuGet package is installed?.
The NuGet configuration file (nuget.config) to use. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see Common NuGet Configurations.
Applies to local tools. To find a manifest, the search algorithm searches up the directory tree for dotnet-tools.json or a .config folder that contains a dotnet-tools.json file.
If a tool-manifest can’t be found and the --create-manifest-if-needed option is set to false, the CannotFindAManifestFile error occurs.
If a tool-manifest can’t be found and the --create-manifest-if-needed option is set to true, the tool creates a manifest automatically. It chooses a folder for the manifest as follows:
Prevent restoring multiple projects in parallel.
Specifies the target framework to install the tool for. By default, the .NET SDK tries to choose the most appropriate target framework.
Specifies that the installation is user wide. Can’t be combined with the --tool-path option. Omitting both --global and --tool-path specifies a local tool installation.
Prints out a description of how to use the command.
Treat package source failures as warnings.
Allows the command to stop and wait for user input or action. For example, to complete authentication.
Update the tool and the local tool manifest. Can’t be combined with the --global option or the --tool-path option.
Don’t cache packages and HTTP requests.
Include prerelease packages.
Path to the manifest file.
Specifies the location where to install the Global Tool. PATH can be absolute or relative. If PATH doesn’t exist, the command tries to create it. Omitting both --global and --tool-path specifies a local tool installation.
Sets the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. For more information, see <xref:Microsoft.Build.Framework.LoggerVerbosity>.
The version of the tool to install. By default, the latest stable package version is installed. Use this option to install preview or older versions of the tool.
Installs dotnetsay (https://www.nuget.org/packages/dotnetsay/) as a global tool in the default location.
Installs dotnetsay (https://www.nuget.org/packages/dotnetsay/) as a global tool in a specific Windows directory.
Installs dotnetsay (https://www.nuget.org/packages/dotnetsay/) as a global tool in a specific Linux/macOS directory.
Installs version 2.0.0 of dotnetsay (https://www.nuget.org/packages/dotnetsay/) as a global tool.
Installs dotnetsay (https://www.nuget.org/packages/dotnetsay/) as a local tool for the current directory.
2023-10-25 |