使用安裝指令碼或擷取二進位檔案,在 Linux 上安裝 .NET
本文示範如何使用安裝指令碼或擷取二進位檔案,在 Linux 上安裝 .NET SDK 或 .NET 執行階段。 如需支援內建套件管理員的發行版本清單,請參閱在 Linux 上安裝 .NET。
如果您想要開發 .NET 應用程式,請安裝 SDK (其中包含執行階段)。 或者,如果您只需要執行應用程式,請安裝 Runtime。 如果您要安裝執行階段,建議您安裝 ASP.NET Core 執行階段,因為 .NET 和 ASP.NET Core 執行階段都包含在內。
使用 dotnet --list-sdks
和 dotnet --list-runtimes
命令來查看已安裝的版本。 如需詳細資訊,請參閱如何檢查是否已安裝 。
.NET 版本
有兩種類型的支援版本:長期支援 (LTS) 版本或標準字詞支援 (STS)。 所有版本的品質都一樣。 唯一的差異是支援的時間長度。 LTS 版本可獲得 3 年的免費支援和修補檔。 STS 版本可獲得 18 個月的免費支援和修補檔。 如需詳細資訊,請參閱 .NET 支援原則 (英文)。
下表列出每個版本 .NET (和 .NET Core) 的支援狀態:
✔️ 支援 | ❌ 不支援 |
---|---|
9 (STS) | 7 |
8 (LTS) | 6 (LTS) |
5 | |
3.1 | |
3.0 | |
2.2 | |
2.1 | |
2.0 | |
1.1 | |
1.0 |
相依性
您安裝 .NET 時,可能不會安裝特定相依性,例如手動安裝時。 下列清單詳細說明 Microsoft 支援的 Linux 發行版本,並具有您可能需要安裝的相依性。 如需詳細資訊,請參閱發佈頁面:
如需有關相依性的一般資訊,請參閱獨立式 Linux 應用程式 \(英文\)。
RPM 相依性
如果您的發佈套件先前未列出,而且是以 RPM 為基礎的,您可能需要下列相依性:
- krb5-libs
- libicu
- openssl-libs
DEB 相依性
如果您的發佈套件先前未列出,而且是以 debian 為基礎的,您可能需要下列相依性:
- libc6
- libgcc1
- libgssapi-krb5-2
- libicu70
- libssl3
- libstdc++6
- zlib1g
通用相依性
如果 .NET 應用程式使用 System.Drawing.Common 元件, 則必須安裝 libgdiplus 。 如需詳細資訊,請參閱 僅限 Windows 上支援的 System.Drawing.Common。
您通常可以將 Mono 存放庫新增至您的系統 (英文),以安裝最新版的 libgdiplus。
已編寫指令碼的安裝
dotnet-install 指令碼可用於進行 SDK 和執行階段的自動化和非管理員安裝。 您可以從 https://dot.net/v1/dotnet-install.sh 下載指令碼。以這種方式安裝 .NET 時,您必須安裝 Linux 發行版本所需的相依性。 針對您的特定 Linux 發行版本,請使用在 Linux 上安裝 .NET 一文中的連結。
重要
需要 Bash 才能執行指令碼。
您可以使用 wget
下載指令碼:
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
執行此指令碼之前,請務必授與此指令碼的權限,才能以可執行檔身分執行:
chmod +x ./dotnet-install.sh
此指令碼預設會安裝最新的長期支援 (LTS) SDK 版本 (即 .NET 8)。 若要安裝最新版本,這可能不是 (LTS) 版本,請使用 --version latest
參數。
./dotnet-install.sh --version latest
若要安裝 .NET 執行階段而非 SDK,請使用 --runtime
參數。
./dotnet-install.sh --version latest --runtime aspnetcore
您可以使用 --channel
參數來安裝特定的主要版本,以指出特定版本。 下列命令會安裝 .NET 9.0 SDK。
./dotnet-install.sh --channel 9.0
如需詳細資訊,請參閱 dotnet-install 指令碼參考。
若要在命令列上啟用 .NET,請參閱設定全系統環境變數。
若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀。
手動安裝
做為套件管理員的替代方案,您可以下載並手動安裝 SDK 和執行階段。 手動安裝通常在持續整合測試中進行,或在不支援的 Linux 發行版本上進行。 對於開發人員或使用者,最好是使用套件管理員。
從下列其中一個網站下載適用於 SDK 或執行階段的二進位版本。 .NET SDK 包含對應的執行階段:
將下載的檔案解壓縮,並使用 export
命令來將 DOTNET_ROOT
設定為解壓縮的資料夾位置,然後確定 .NET 位於 PATH 中。 匯出 DOTNET_ROOT
使 .NET CLI 可在終端中使用。 如需 .NET 環境變數的詳細資訊,請參閱 SDK 和 CLI 環境變數 (部分機器翻譯)。
可以將不同的 .NET 版本解壓縮至同一個資料夾中,不同版本可並排共存。
範例
下列命令使用 Bash 來將環境變數 DOTNET_ROOT
設定為目前的工作目錄,後面接著是 .dotnet
。 如果目錄不存在,則會加以建立。 DOTNET_FILE
環境變數是您想要安裝之 .NET 二進位版本的檔案名稱。 此檔案會解壓縮至 DOTNET_ROOT
目錄。 DOTNET_ROOT
目錄與其 tools
子目錄都會新增至 PATH
環境變數中。
重要
如果您執行這些命令,請記得將 DOTNET_FILE
值變更為您已下載的 .NET 二進位檔名稱。
DOTNET_FILE=dotnet-sdk-9.0.100-linux-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet
mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
您可以在相同的資料夾中安裝一個以上的 .NET 版本。
您也可以將 .NET 安裝至 HOME
變數或 ~
路徑所識別的主目錄:
export DOTNET_ROOT=$HOME/.dotnet
若要了解如何使用 .NET CLI,請參閱 .NET CLI 概觀。
驗證下載的二進位檔
下載安裝程式或二進位版本後,請加以驗證以確認檔案未變更或損毀。 您可以驗證電腦上的總和檢查碼,然後將它與下載網站上所報告的內容進行比較。
當您從官方下載頁面下載檔案時,檔案的總和檢查碼將顯示在文字方塊中。 選取 [複製] 按鈕,將總和檢查碼值複製到剪貼簿。
使用 sha512sum
命令來顯示您已下載之檔案的總和檢查碼。 例如,下列命令會回報 dotnet-sdk-8.0.100-linux-x64.tar.gz 檔案的總和檢查碼:
$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5 dotnet-sdk-8.0.100-linux-x64.tar.gz
將該總和檢查碼與下載網站所提供的值進行比較。
重要
儘管這些範例中顯示的是 Linux 文件,但此資訊同樣適用於 macOS。
使用總和檢查碼檔案進行驗證
.NET 版本資訊包含可用來驗證您下載檔案之總和檢查碼檔案的連結。 下列步驟描述如何下載總和檢查碼檔案,並驗證 .NET 安裝二進位檔:
位於 https://github.com/dotnet/core/tree/main/release-notes/8.0#releases 的 GitHub 上的 .NET 8 版本資訊頁面包含名為版本的章節。 該章節中的資料表可連結至每個 .NET 8 版本的下載和總和檢查碼檔案:
選取您下載的 .NET 版本的連結。
上一節使用了 .NET SDK 8.0.100,其位於 .NET 8.0.0 版本中。
您可以在發行頁面中看到 .NET 執行階段和 .NET SDK 版本,以及前往總和檢查碼檔案的連結:
以滑鼠右鍵按一下「總和檢查碼」連結,然後將該連結複製到剪貼簿。
開啟終端機。
使用
curl -O {link}
下載總和檢查碼檔案。將以下命令中的連結替換為您複製的連結。
curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
有了總和檢查碼檔案和下載至相同目錄的 .NET 版本檔案後,請使用
sha512sum -c {file} --ignore-missing
命令來驗證下載的檔案。驗證通過時,您會看到顯示 [確定] 狀態的檔案:
$ sha512sum -c 8.0.0-sha.txt --ignore-missing dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
如果您看到檔案標示為 [失敗],則下載的檔案無效且不應加以使用。
$ sha512sum -c 8.0.0-sha.txt --ignore-missing dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED sha512sum: WARNING: 1 computed checksum did NOT match sha512sum: 8.0.0-sha.txt: no file was verified
設定全系統環境變數
如果您使用先前的安裝指令碼,則設定的變數只適用於您目前的終端工作階段。 將這些變數新增至殼層設定檔。 有許多不同殼層可供 Linux 使用,且每個殼層都有不同的設定檔。 例如:
- Bash 殼層:~/.bash_profile 或 ~/.bashrc
- Korn 殼層:~/.kshrc 或 .profile
- Z 殼層:~/.zshrc 或 .zprofile
在殼層設定檔中設定下列兩個環境變數:
DOTNET_ROOT
此變數是設定至已安裝 .NET 的資料夾,例如
$HOME/.dotnet
:export DOTNET_ROOT=$HOME/.dotnet
PATH
此變數應同時包含
DOTNET_ROOT
資料夾和DOTNET_ROOT/tools
資料夾:export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools