開始使用 dotnetup

Note

dotnetup 目前為公開預覽版。 其特性與行為可能會在正式上市前改變。

dotnetup是一個跨平台工具鏈管理器,用於使用者層級的 .NET 安裝。 它可以安裝、更新並移除 .NET SDK 和執行環境,無需使用系統套件管理器。

Prerequisites

  • 以下作業系統與架構之一:

    作業系統 Architectures
    Windows 作業系統 x64、Arm64
    macOS x64、Arm64
    Linux (glibc) x64、Arm64
    Linux(musl),例如 Alpine Linux x64、Arm64
  • 一個終端機。

  • 在 macOS 或 Linux 上用 Bash,或在 Windows 上用 PowerShell 來執行下載腳本。

  • 在 macOS 或 Linux 上,使用 curl 或 wget 下載檔案,並使用 sha512sum 或 shasum 驗證檔案。

dotnetup其作業系統需求與 .NET 執行時相同。 關於作業系統特定需求,請參見「在 Windows 安裝 .NET」、「在 macOS 安裝 .NET」或「在 Linux 上安裝 .NET」。

Important

在 Windows 上,預設設定使用everywhere存取模式。 這個模式:

  • 需要提升權限才能更新系統 PATH。
  • 讓 dotnetup 管理的安裝優先於全機 .NET 安裝,例如 Visual Studio 安裝的那些。 需要全機 SDK 或執行環境,且該 SDK 或執行環境也未隨 dotnetup 安裝的專案和應用程式,將無法建置或執行。
  • 變更系統 PATH,這適用於所有使用者。 其他使用者啟動的升格程序可能會從你的使用者設定檔載入 .NET。

為避免這些影響,請在設定時選擇 none 或 shell 存取模式。 如果你選擇 everywhere,當安裝程式提示時,就遷移你現有的安裝。 詳情請參見 「Everywhere」模式的考量。

下載 dotnetup

下載腳本預設會安裝最新的 preview 建置版本。 他們會用 SHA-512 校驗碼驗證下載的執行檔,然後安裝到 ~/.dotnetup 中。

在 macOS 或 Linux 上,執行:

curl -fsSL https://aka.ms/dotnetup/get-dotnetup.sh | bash

在 Windows 上,執行:

irm https://aka.ms/dotnetup/get-dotnetup.ps1 | iex

要在 macOS 或 Linux 上安裝最新版本 daily ,請執行:

curl -fsSL https://aka.ms/dotnetup/get-dotnetup.sh |
  bash -s -- --quality daily

要在 Windows 上安裝最新版本daily,請執行:

iex "& { $(irm https://aka.ms/dotnetup/get-dotnetup.ps1) } -Quality daily"

Important

每日建置尚未完成釋出驗證,且未進行程式碼簽署。 每日建置只用於短期測試。

腳本會列印指示,將 dotnetup 加入 PATH。 套用指示後再開啟新的終端機。

執行首次設定

執行互動式設定:

> dotnetup init
Welcome to dotnetup!

SDK Channel: latest
Mode: <recommended-mode> (Suggested)

<recommended-mode> modifies <configuration-target> to set PATH and DOTNET_ROOT to prefer <install-path>.

Would you like to install .NET with the recommended settings?
> Yes, proceed with defaults and install

Installing SDK <resolved-version> to <install-path>...
<download and installation progress>
Installed at <install-path>:
  SDK <resolved-version>
<mode-specific environment guidance>
Setup complete!

路徑、進度顯示和環境指引會依你的系統和所選模式而定。

在 Windows 上,建議的存取模式是 everywhere。 在 macOS 和 Linux 上,當 dotnetup 偵測到受支援的 shell 時,為 shell,否則為 none。

選擇 「否,自訂設定」 以選擇 SDK 通道、存取模式和遷移選項。

選擇 SDK 通道

SDK 頻道會告訴 dotnetup 應安裝哪個 SDK,以及如何更新它。

頻道表單 Example Result
最新穩定版 latest 最新有效的穩定 SDK
最新 LTS lts 最新目前穩定的 LTS SDK
最新預覽 preview 最新預覽 SDK
每日最新內容 daily 最新可用的每日版 SDK
主要 10 指定主版本的最新 SDK
主要與次要 10.0 指定主版與次要版的最新 SDK
功能區 10.0.1xx 指定 feature band 中的最新 SDK
確切版本 10.0.103 只有指定的 SDK 版本
沒有初始 SDK none 設定時跳過安裝

更新期間,精確指定的版本不會變動。 如需查看所有可接受的形式,請參見 dotnetup 通道和版本。

選擇如何存取 .NET

存取模式控制終端機與應用程式如何找到由 dotnetup 管理的 .NET 安裝。

存取模式 行為
none 不會修改這些環境變數。 以 dotnetup dotnet 執行 .NET。
shell 修改 shell 設定檔以設定這些環境變數。 從該 shell 啟動的程序使用 dotnetup 安裝的 .NET SDK 和執行時。
everywhere 修改系統 PATH 並設定使用者層級 DOTNET_ROOT 的環境變數。 僅適用於 Windows。

如需更多關於 everywhere 模式的詳細資訊與考量,請參閱 dotnetup 環境設定。

遷移現有安裝項目

Setup 可以提供將現有的全機 .NET SDK 與執行時安裝遷移到 dotnetup 管理的安裝中。 請參閱 Everywhere 模式的考量,了解為什麼遷移在 everywhere 模式下特別重要。

驗證設定

由於設定會變更環境,請在完成設定後開啟新的終端機。

無論是 shell 模式還是 everywhere 模式,請執行:

dotnet --version
dotnetup list

對於 none 模式,執行:

dotnetup dotnet -- --version
dotnetup list

再次執行 dotnetup init 以變更設定。