Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
Perilaku skrip penginstalan telah berubah. Ini mengunduh .NET dari lokasi jaringan baru. Untuk informasi selengkapnya, lihat tautan Kritis: .NET Install berubah.
Nama
dotnet-install.ps1
|
dotnet-install.sh - Skrip yang digunakan untuk menginstal .NET SDK dan runtime bersama.
Sinopsis
Windows:
dotnet-install.ps1 [-Architecture <ARCHITECTURE>] [-AzureFeed]
[-Channel <CHANNEL>] [-DryRun] [-FeedCredential]
[-InstallDir <DIRECTORY>] [-JSonFile <JSONFILE>]
[-NoPath] [-ProxyAddress] [-ProxyBypassList <LIST_OF_URLS>]
[-ProxyUseDefaultCredentials] [-Quality <QUALITY>] [-Runtime <RUNTIME>]
[-SkipNonVersionedFiles] [-UncachedFeed] [-KeepZip] [-ZipPath <PATH>] [-Verbose]
[-Version <VERSION>]
Get-Help ./dotnet-install.ps1
Linux/macOS:
dotnet-install.sh [--architecture <ARCHITECTURE>] [--azure-feed]
[--channel <CHANNEL>] [--dry-run] [--feed-credential]
[--install-dir <DIRECTORY>] [--jsonfile <JSONFILE>]
[--no-path] [--quality <QUALITY>]
[--runtime <RUNTIME>] [--runtime-id <RID>]
[--skip-non-versioned-files] [--uncached-feed] [--keep-zip] [--zip-path <PATH>] [--verbose]
[--version <VERSION>]
dotnet-install.sh --help
Skrip bash juga membaca sakelar PowerShell, sehingga Anda dapat menggunakan sakelar PowerShell dengan skrip pada sistem Linux/macOS.
Deskripsi
dotnet-install Skrip melakukan penginstalan non-admin .NET SDK, yang mencakup .NET CLI dan runtime bersama. Ada dua skrip:
- Skrip PowerShell yang berfungsi di Windows. Untuk petunjuk penginstalan, lihat Menginstal di Windows.
- Skrip bash yang berfungsi di Linux/macOS. Untuk petunjuk penginstalan, lihat Menginstal di Linux dan Menginstal di macOS.
Catatan
.NET mengumpulkan data telemetri. Untuk mempelajari selengkapnya dan cara memilih keluar, lihat telemetri .NET SDK.
Tujuan
Penggunaan skrip yang dimaksudkan adalah untuk skenario Integrasi Berkelanjutan (CI), di mana:
SDK perlu diinstal tanpa interaksi pengguna dan tanpa hak admin.
Penginstalan SDK tidak perlu bertahan di beberapa eksekusi CI.
Urutan umum peristiwa:
- CI dipicu.
- CI menginstal SDK menggunakan salah satu skrip ini.
- CI menyelesaikan pekerjaannya dan menghapus data sementara termasuk penginstalan SDK.
Untuk menyiapkan lingkungan pengembangan atau menjalankan aplikasi, gunakan penginstal daripada skrip ini.
Versi yang Direkomendasikan
Kami menyarankan agar Anda menggunakan versi stabil skrip:
- Bash (Linux/macOS): https://dot.net/v1/dotnet-install.sh
- PowerShell (Windows): https://dot.net/v1/dotnet-install.ps1
Sumber untuk skrip ada di repositori GitHub dotnet/install-scripts .
Perilaku skrip
Kedua skrip memiliki perilaku yang sama. Mereka mengunduh file ZIP/tarball dari build CLI turun dan melanjutkan untuk menginstalnya di lokasi default atau di lokasi yang ditentukan oleh -InstallDir|--install-dir.
Secara default, skrip penginstalan mengunduh SDK dan menginstalnya. Jika Anda hanya ingin mendapatkan runtime bersama, tentukan -Runtime|--runtime argumen .
Secara default, skrip menambahkan lokasi penginstalan ke $PATH untuk sesi saat ini. Ambil alih perilaku default ini dengan menentukan -NoPath|--no-path argumen . Skrip tidak mengatur DOTNET_ROOT variabel lingkungan.
Penting
Skrip tidak menambahkan lokasi penginstalan ke variabel lingkungan pengguna PATH , Anda harus menambahkannya secara manual.
Sebelum menjalankan skrip, pastikan sistem operasi Anda didukung. Untuk informasi selengkapnya, lihat Menginstal .NET di Windows, Linux, dan macOS.
Anda dapat menginstal versi tertentu menggunakan -Version|--version argumen . Versi harus ditentukan sebagai nomor versi tiga bagian, seperti 2.1.0. Jika versi tidak ditentukan, skrip akan menginstal latest versi.
Skrip penginstalan tidak memperbarui registri pada Windows. Mereka hanya mengunduh biner zip dan menyalinnya ke folder. Jika Anda ingin nilai kunci registri diperbarui, gunakan penginstal .NET.
Opsi
-Architecture|--architecture <ARCHITECTURE>Arsitektur biner .NET untuk diinstal. Nilai yang mungkin adalah
<auto>, ,amd64x64,x86,arm64,arm,s390x,ppc64le, danriscv64. Nilai defaultnya adalah<auto>, yang mewakili arsitektur OS yang sedang berjalan.-AzureFeed|--azure-feedHanya untuk penggunaan internal. Memungkinkan penggunaan penyimpanan yang berbeda untuk mengunduh arsip SDK. Default adalah
https://builds.dotnet.microsoft.com/dotnet.-Channel|--channel <CHANNEL>Menentukan saluran sumber untuk penginstalan. Nilai yang mungkin adalah:
-
STS: Rilis Dukungan Istilah Standar terbaru. -
LTS: Rilis Dukungan Jangka Panjang terbaru. - Versi dua bagian dalam format A.B, mewakili rilis tertentu (misalnya,
3.1atau8.0). - Versi tiga bagian dalam format A.B.Cxx, mewakili rilis SDK tertentu (misalnya, 8.0.1xx atau 8.0.2xx). Tersedia sejak rilis 5.0.
Parameter
versionmengambil alihchannelparameter ketika versi apa pun selainlatestdigunakan.Nilai defaultnya adalah
LTS. Untuk informasi selengkapnya tentang saluran dukungan .NET, lihat halaman Kebijakan Dukungan .NET.-
-DryRun|--dry-runJika diatur, skrip tidak akan melakukan penginstalan. Sebagai gantinya, ini menampilkan baris perintah apa yang akan digunakan untuk menginstal versi .NET CLI yang saat ini diminta secara konsisten. Misalnya, jika Anda menentukan versi
latest, ini menampilkan tautan dengan versi tertentu sehingga perintah ini dapat digunakan secara deterministik dalam skrip build. Ini juga menampilkan lokasi biner jika Anda lebih suka menginstal atau mengunduhnya sendiri.-FeedCredential|--feed-credentialDigunakan sebagai string kueri untuk ditambahkan ke umpan Azure. Ini memungkinkan perubahan URL untuk menggunakan akun penyimpanan blob non-publik.
--helpMencetak bantuan untuk skrip. Hanya berlaku untuk skrip bash. Untuk PowerShell, gunakan
Get-Help ./dotnet-install.ps1.-InstallDir|--install-dir <DIRECTORY>Menentukan jalur penginstalan. Direktori dibuat jika tidak ada. Nilai defaultnya adalah %LocalAppData%\Microsoft\dotnet di Windows dan $HOME/.dotnet di Linux/macOS. Biner ditempatkan langsung di direktori ini.
-JSonFile|--jsonfile <JSONFILE>Menentukan jalur ke file global.json yang akan digunakan untuk menentukan versi SDK. File global.json harus memiliki nilai untuk
sdk:version.-NoPath|--no-pathJika diatur, folder penginstalan tidak diekspor ke jalur untuk sesi saat ini. Secara default, skrip memodifikasi PATH, yang membuat CLI .NET tersedia segera setelah penginstalan.
-ProxyAddressJika diatur, alat penginstal menggunakan proksi saat membuat permintaan web. (Hanya valid untuk Windows.)
-ProxyBypassList <LIST_OF_URLS>Jika diatur dengan
ProxyAddress, berikan daftar url yang dipisahkan koma yang akan melewati proksi. (Hanya valid untuk Windows.)-ProxyUseDefaultCredentialsJika diatur, alat penginstal menggunakan kredensial pengguna saat ini saat menggunakan alamat proksi. (Hanya valid untuk Windows.)
-Quality|--quality <QUALITY>Mengunduh build terbaru dari kualitas yang ditentukan di saluran. Nilai yang mungkin adalah:
daily, ,previewdanGA.Nilai kualitas yang berbeda menandakan berbagai tahapan proses rilis SDK atau Runtime yang diinstal.
-
daily: Build terbaru SDK atau Runtime. Mereka dibangun setiap hari dan tidak diuji. Mereka tidak disarankan untuk penggunaan produksi tetapi sering digunakan untuk menguji fitur atau perbaikan tertentu segera setelah digabungkan ke dalam produk. Build ini berasal daridotnet/installerrepositori, dan jadi jika Anda mencari perbaikan daridotnet/sdkAnda harus menunggu kode mengalir dan digabungkan dari SDK ke Installer sebelum muncul di build harian. -
preview: Rilis publik bulanan dari versi .NET berikutnya, yang ditujukan untuk penggunaan publik. Tidak disarankan untuk penggunaan produksi. Dimaksudkan untuk memungkinkan pengguna bereksperimen dan menguji versi utama baru sebelum rilis. -
GA: Rilis stabil akhir dari .NET SDK dan Runtime. Ditujukan untuk penggunaan publik serta dukungan produksi.
Opsi
--qualityhanya berfungsi dalam kombinasi dengan--channel, tetapi tidak berlaku untukSTSsaluran danLTSdan akan diabaikan jika salah satu saluran tersebut digunakan.Untuk penginstalan SDK, gunakan
channelnilai yang dalamA.Bformat atauA.B.Cxx. Untuk penginstalan runtime, gunakanchanneldalamA.Bformat.Jangan gunakan parameter
versiondanquality. Ketikaqualityditentukan, skrip menentukan versi yang tepat sendiri.Tersedia sejak rilis 5.0.
-
-Runtime|--runtime <RUNTIME>Hanya menginstal runtime bersama, bukan seluruh SDK. Nilai yang mungkin adalah:
-
dotnet: RuntimeMicrosoft.NETCore.Appbersama. -
aspnetcore: RuntimeMicrosoft.AspNetCore.Appbersama. -
windowsdesktopMicrosoft.WindowsDesktop.AppRuntime bersama.
-
--os <OPERATING_SYSTEM>Menentukan sistem operasi tempat alat diinstal. Nilai yang mungkin adalah:
osx, ,macoslinux,linux-musl,freebsd.Parameter bersifat opsional dan hanya boleh digunakan ketika diperlukan untuk mengambil alih sistem operasi yang terdeteksi oleh skrip.
-SharedRuntime|--shared-runtimeCatatan
Parameter ini usang dan dapat dihapus dalam versi skrip yang akan datang. Alternatif yang direkomendasikan adalah
-Runtime|--runtimeopsi .Hanya menginstal bit runtime bersama, bukan seluruh SDK. Opsi ini setara dengan menentukan
-Runtime|--runtime dotnet.-SkipNonVersionedFiles|--skip-non-versioned-filesLewati penginstalan file non-versi, seperti dotnet.exe, jika sudah ada.
-UncachedFeed|--uncached-feedHanya untuk penggunaan internal. Memungkinkan penggunaan penyimpanan yang berbeda untuk mengunduh arsip SDK. Parameter ini menimpa
-AzureFeed|--azure-feed.-KeepZip|--keep-zipJika diatur, arsip SDK yang diunduh disimpan setelah penginstalan.
-ZipPath|--zip-path <PATH>Jika diatur, arsip SDK yang diunduh disimpan di jalur yang ditentukan.
-Verbose|--verboseMenampilkan informasi diagnostik.
-Version|--version <VERSION>Mewakili versi build tertentu. Nilai yang mungkin adalah:
-
latest: Build terbaru pada saluran (digunakan dengan-Channelopsi ). - Versi tiga bagian dalam format X.Y.Z yang mewakili versi build tertentu; menggantikan
-Channelopsi. Misalnya:2.0.0-preview2-006120.
Jika tidak ditentukan,
-Versiondefault kelatest.-
Contoh
Instal versi terbaru yang didukung jangka panjang (LTS) ke lokasi default:
Windows:
./dotnet-install.ps1 -Channel LTSmacOS/Linux:
./dotnet-install.sh --channel LTSInstal versi pratinjau terbaru SDK 6.0.1xx ke lokasi yang ditentukan:
Windows:
./dotnet-install.ps1 -Channel 6.0.1xx -Quality preview -InstallDir C:\climacOS/Linux:
./dotnet-install.sh --channel 6.0.1xx --quality preview --install-dir ~/cliInstal versi 6.0.0 dari runtime bersama:
Windows:
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0macOS/Linux:
./dotnet-install.sh --runtime dotnet --version 6.0.0Dapatkan skrip dan instal versi 6.0.2 di belakang proksi perusahaan (hanya Windows):
Invoke-WebRequest 'https://dot.net/v1/dotnet-install.ps1' -Proxy $env:HTTP_PROXY -ProxyUseDefaultCredentials -OutFile 'dotnet-install.ps1'; ./dotnet-install.ps1 -InstallDir '~/.dotnet' -Version '6.0.2' -Runtime 'dotnet' -ProxyAddress $env:HTTP_PROXY -ProxyUseDefaultCredentials;Dapatkan skrip dan instal contoh satu baris .NET CLI:
Windows:
# Run a separate PowerShell process because the script calls exit, so it will end the current PowerShell session. &powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://dot.net/v1/dotnet-install.ps1'))) <additional install-script args>"macOS/Linux:
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin <additional install-script args>Instal beberapa versi saat tidak menimpa
dotnetbiner dari penginstalan sebelumnya.Jika Anda menginstal .NET SDK atau runtime .NET dari versi sebelumnya di atas versi yang lebih baru, Anda perlu menggunakan
--skip-non-versioned-filesagar file 'tidak diversi'dotnetdari versi sebelumnya tidak menimpa file yang sama dari versi yang lebih baru.:~ $ ./dotnet-install.sh --channel 9.0 --install-dir local-dotnet # installs the latest 9 SDK to the specified directory dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz size is 218004272 bytes. dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz dotnet-install: Downloaded file size is 218004272 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Installed version is 9.0.303 dotnet-install: Adding to current process PATH: `$HOME/local-dotnet`. Note: This change will be visible only when sourcing script. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section. dotnet-install: Installation finished successfully. :~ $ ./local-dotnet/dotnet --list-runtimes # see what runtimes we have available Microsoft.AspNetCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] :~ $ ./local-dotnet/dotnet --list-sdks # see what SDKs we have available 9.0.303 [$HOME/local-dotnet/sdk] :~ $ ./dotnet-install.sh --channel 8.0 --install-dir local-dotnet --skip-non-versioned-files # install the 8 SDK to the same place, but keep the 9 dotnet binaries dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz size is 216096947 bytes. dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz dotnet-install: Downloaded file size is 216096947 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Installed version is 8.0.412 dotnet-install: Adding to current process PATH: `$HOME/local-dotnet`. Note: This change will be visible only when sourcing script. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section. dotnet-install: Installation finished successfully. :~ $ ./local-dotnet/dotnet --list-runtimes # we should have 8 and 9 Runtimes now Microsoft.AspNetCore.App 8.0.18 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 8.0.18 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] :~ $ ./local-dotnet/dotnet --list-sdks # we should have 2 SDKs now 8.0.412 [$HOME/local-dotnet/sdk] 9.0.303 [$HOME/local-dotnet/sdk]
Atur variabel lingkungan
Menginstal .NET secara manual tidak menambahkan variabel lingkungan di seluruh sistem, dan umumnya hanya berfungsi untuk sesi tempat .NET diinstal. Ada dua variabel lingkungan yang harus Anda tetapkan untuk sistem operasi Anda:
DOTNET_ROOTVariabel ini diatur ke folder .NET diinstal ke, seperti
$HOME/.dotnetuntuk Linux dan macOS, dan$HOME\.dotnetdi PowerShell untuk Windows.PATHVariabel ini harus mencakup
DOTNET_ROOTfolder dan folder .dotnet/tools pengguna. Umumnya ini ada$HOME/.dotnet/toolsdi Linux dan macOS, dan$HOME\.dotnet\toolsdi PowerShell di Windows.
Petunjuk / Saran
Untuk Linux dan macOS, gunakan echo perintah untuk mengatur variabel di profil shell Anda, seperti .bashrc:
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
Menghapus instalan
Tidak ada skrip penghapusan instalasi. Untuk informasi tentang menghapus instalasi .NET secara manual, lihat Cara menghapus .NET Runtime dan SDK.
Validasi tanda tangan dotnet-install.sh
Validasi tanda tangan adalah langkah keamanan penting yang membantu memastikan keaslian dan integritas skrip. Dengan memverifikasi tanda tangan skrip, Anda dapat yakin bahwa skrip tersebut belum dirusak dan berasal dari sumber tepercaya.
Berikut adalah panduan langkah demi langkah tentang cara memverifikasi keaslian dotnet-install.sh skrip menggunakan GPG:
- Instal GPG: GPG (GNU Privacy Guard) adalah alat gratis dan sumber terbuka untuk mengenkripsi dan menandatangani data. Anda dapat menginstalnya dengan mengikuti instruksi di situs web GPG.
-
Impor kunci publik kami: Unduh file kunci publik install-scripts, lalu impor ke keyring GPG Anda dengan menjalankan perintah
gpg --import dotnet-install.asc. -
Unduh file tanda tangan: File tanda tangan untuk skrip bash kami tersedia di
https://dot.net/v1/dotnet-install.sig. Anda dapat mengunduhnya menggunakan alat sepertiwgetataucurl. -
Verifikasi tanda tangan: Untuk memverifikasi tanda tangan skrip bash kami, jalankan perintah
gpg --verify dotnet-install.sig dotnet-install.sh. Ini akan memeriksa tanda tangandotnet-install.shfile terhadap tanda tangan dalamdotnet-install.sigfile. -
Periksa hasilnya: Jika tanda tangan valid, Anda akan melihat pesan yang berisi
Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>". Ini berarti bahwa skrip belum dirusak dan dapat dipercaya.
Menyiapkan lingkungan
Menginstal GPG dan mengimpor kunci publik kami adalah operasi satu kali.
sudo apt install gpg
wget https://dot.net/v1/dotnet-install.asc
gpg --import dotnet-install.asc
Ketika berhasil, Anda akan melihat output seperti berikut:
gpg: directory '/home/<user>/.gnupg' created
gpg: keybox '/home/<user>/.gnupg/pubring.kbx' created
gpg: /home/<user>/.gnupg/trustdb.gpg: trustdb created
gpg: key B9CF1A51FC7D3ACF: public key "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
Unduh dan verifikasi
Dengan kunci yang diimpor, Anda sekarang dapat mengunduh skrip dan tanda tangan, lalu memverifikasi skrip cocok dengan tanda tangan:
wget https://dot.net/v1/dotnet-install.sh
wget https://dot.net/v1/dotnet-install.sig
gpg --verify dotnet-install.sig dotnet-install.sh
Ketika berhasil, Anda akan melihat output seperti berikut:
gpg: Signature made <datetime>
gpg: using RSA key B9CF1A51FC7D3ACF
gpg: Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2B93 0AB1 228D 11D5 D7F6 B6AC B9CF 1A51 FC7D 3ACF
Peringatan berarti Anda tidak mempercayai kunci publik di keyring, tetapi skrip masih diverifikasi. Kode keluar yang dikembalikan oleh perintah verifikasi harus 0, menunjukkan keberhasilan.