此文章適用於:✔️ .NET 6 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 選項時,通用工具預設會安裝在下列目錄中:
| 作業系統 | 路徑 |
|---|---|
| Linux/macOS作系統 | $HOME/.dotnet/tools |
| 窗戶 | %USERPROFILE%\.dotnet\tools |
會在這些資料夾中為每個全域安裝的工具產生可執行檔,雖然實際工具二進位檔案巢狀於同層級 .store 目錄的深處。
注意
使用 安裝命令行工具 dotnet tool之後,在 Linux 上,此工具只能從 $HOME/.dotnet/tools 路徑執行。
若要讓工具從任何目錄執行,請更新 PATH 環境變數。
若要在殼層中永久更新 PATH 環境變數,請更新殼層設定。
針對 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 套件的名稱識別碼。
從 .NET 10.0.100 SDK 開始,請使用名稱/識別碼和分隔的版本
@來安裝 .NET 工具。
選項
-
--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。 若使用此選項,請勿使用-r|--runtime選項。 自 .NET 6 Preview 7 起提供使用。 -
--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選擇退出。警告
請勿從 [下載 ] 資料夾或任何共用位置執行工具命令。 CLI 會逐步引導目錄樹狀結構來尋找工具指令清單,這可能會導致它使用您不預期的指令清單。 一律從受信任的專案特定目錄執行工具命令。
- 向上查看目錄樹狀,搜尋包含
-
--disable-parallel避免平行還原多個專案。
--framework <FRAMEWORK>指定要更新其工具的目標 Framework。 根據預設,.NET SDK 會嘗試選擇最適當的目標 Framework。
-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>指定要安裝全域工具的位置。 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包括未列出的版本。 若要改為取得特定 major/minor 版本的最新版本,請使用--version Major.Minor.*。
範例
dotnet tool install -g dotnetsay在預設位置中安裝 dotnetsay 做為通用工具。
dotnet tool install dotnetsay --tool-path c:\global-tools將 dotnetsay 安裝為特定 Windows 目錄中的全域工具。
dotnet tool install dotnetsay --tool-path ~/bin將 dotnetsay 安裝為特定 Linux/macOS 目錄中的全域工具。
dotnet tool install -g dotnetsay --version 2.0.0安裝 2.0.0 版的 dotnetsay 做為通用工具。
dotnet tool install -g dotnetsay@2.1.7安裝 dotnetsay 2.1.7 版做為全域工具。
dotnet tool install dotnetsay安裝 dotnetsay 做為目前目錄的本機工具。
dotnet tool install dotnetsay@2.1.7安裝 dotnetsay 2.1.7 版作為目前目錄的本機工具。
dotnet tool install -g dotnetsay --verbosity minimal將 dotnetsay 安裝為全域工具,詳細程度最低。 全域工具的預設詳細程度為無訊息。
dotnet tool install -g dotnetsay --allow-roll-forward將 dotnetsay 安裝為全域工具,並允許它在目標執行階段無法使用時在較新的 .NET 版本上執行。