referensi skrip dotnet-install
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>]
[-NoCdn] [-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-cdn] [--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>
, ,x64
amd64
,x86
,arm64
,arm
,s390x
,ppc64le
, danriscv64
. Nilai defaultnya adalah<auto>
, yang mewakili arsitektur OS yang sedang berjalan.-AzureFeed|--azure-feed
Hanya untuk penggunaan internal. Memungkinkan penggunaan penyimpanan yang berbeda untuk mengunduh arsip SDK. Parameter ini hanya digunakan jika --no-cdn salah. Default adalah
https://dotnetcli.azureedge.net/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.1
atau8.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
version
mengambil alihchannel
parameter ketika versi apa pun selainlatest
digunakan.Nilai defaultnya adalah
LTS
. Untuk informasi selengkapnya tentang saluran dukungan .NET, lihat halaman Kebijakan Dukungan .NET.-DryRun|--dry-run
Jika 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-credential
Digunakan sebagai string kueri untuk ditambahkan ke umpan Azure. Ini memungkinkan perubahan URL untuk menggunakan akun penyimpanan blob non-publik.
--help
Mencetak 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
.-NoCdn|--no-cdn
Menonaktifkan pengunduhan dari Azure Content Delivery Network (CDN) dan menggunakan umpan yang tidak di-cache secara langsung.
-NoPath|--no-path
Jika diatur, folder penginstalan tidak diekspor ke jalur untuk sesi saat ini. Secara default, skrip memodifikasi PATH, yang membuat CLI .NET tersedia segera setelah penginstalan.
-ProxyAddress
Jika 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.)-ProxyUseDefaultCredentials
Jika 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
, ,validated
signed
,preview
, danGA
. Sebagian besar pengguna harus menggunakandaily
,preview
, atauGA
kualitas.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/installer
repositori, dan jadi jika Anda mencari perbaikan daridotnet/sdk
Anda harus menunggu kode mengalir dan digabungkan dari SDK ke Installer sebelum muncul di build harian.signed
: Build yang ditandatangani Microsoft yang tidak divalidasi atau dirilis secara publik. Build yang ditandatangani adalah kandidat untuk validasi, pratinjau, dan rilis GA. Tingkat kualitas ini tidak ditujukan untuk penggunaan publik.validated
: Build yang telah melakukan beberapa pengujian internal tetapi belum dirilis sebagai pratinjau atau GA. Tingkat kualitas ini tidak ditujukan untuk penggunaan publik.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
--quality
hanya berfungsi dalam kombinasi dengan--channel
, tetapi tidak berlaku untukSTS
saluran danLTS
dan akan diabaikan jika salah satu saluran tersebut digunakan.Untuk penginstalan SDK, gunakan
channel
nilai yang dalamA.B
format atauA.B.Cxx
. Untuk penginstalan runtime, gunakanchannel
dalamA.B
format.Jangan gunakan parameter
version
danquality
. Ketikaquality
ditentukan, 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.App
bersama.aspnetcore
: RuntimeMicrosoft.AspNetCore.App
bersama.windowsdesktop
Microsoft.WindowsDesktop.App
Runtime bersama.
--os <OPERATING_SYSTEM>
Menentukan sistem operasi tempat alat diinstal. Nilai yang mungkin adalah:
osx
, ,macos
linux
,linux-musl
,freebsd
.Parameter bersifat opsional dan hanya boleh digunakan ketika diperlukan untuk mengambil alih sistem operasi yang terdeteksi oleh skrip.
-SharedRuntime|--shared-runtime
Catatan
Parameter ini usang dan dapat dihapus dalam versi skrip yang akan datang. Alternatif yang direkomendasikan adalah
-Runtime|--runtime
opsi .Hanya menginstal bit runtime bersama, bukan seluruh SDK. Opsi ini setara dengan menentukan
-Runtime|--runtime dotnet
.-SkipNonVersionedFiles|--skip-non-versioned-files
Lewati penginstalan file non-versi, seperti dotnet.exe, jika sudah ada.
-UncachedFeed|--uncached-feed
Hanya untuk penggunaan internal. Memungkinkan penggunaan penyimpanan yang berbeda untuk mengunduh arsip SDK. Parameter ini hanya digunakan jika --no-cdn benar.
-KeepZip|--keep-zip
Jika diatur, arsip SDK yang diunduh disimpan setelah penginstalan.
-ZipPath|--zip-path <PATH>
Jika diatur, arsip SDK yang diunduh disimpan di jalur yang ditentukan.
-Verbose|--verbose
Menampilkan informasi diagnostik.
-Version|--version <VERSION>
Mewakili versi build tertentu. Nilai yang mungkin adalah:
latest
: Build terbaru pada saluran (digunakan dengan-Channel
opsi ).- Versi tiga bagian dalam format X.Y.Z yang mewakili versi build tertentu; menggantikan
-Channel
opsi. Misalnya:2.0.0-preview2-006120
.
Jika tidak ditentukan,
-Version
default kelatest
.
Contoh
Instal versi terbaru yang didukung jangka panjang (LTS) ke lokasi default:
Windows:
./dotnet-install.ps1 -Channel LTS
macOS/Linux:
./dotnet-install.sh --channel LTS
Instal versi pratinjau terbaru SDK 6.0.1xx ke lokasi yang ditentukan:
Windows:
./dotnet-install.ps1 -Channel 6.0.1xx -Quality preview -InstallDir C:\cli
macOS/Linux:
./dotnet-install.sh --channel 6.0.1xx --quality preview --install-dir ~/cli
Instal versi 6.0.0 dari runtime bersama:
Windows:
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0
macOS/Linux:
./dotnet-install.sh --runtime dotnet --version 6.0.0
Dapatkan 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>
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_ROOT
Variabel ini diatur ke folder .NET diinstal ke, seperti
$HOME/.dotnet
untuk Linux dan macOS, dan$HOME\.dotnet
di PowerShell untuk Windows.PATH
Variabel ini harus mencakup
DOTNET_ROOT
folder dan folder .dotnet/tools pengguna. Umumnya ini ada$HOME/.dotnet/tools
di Linux dan macOS, dan$HOME\.dotnet\tools
di PowerShell di Windows.
Tip
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 sepertiwget
ataucurl
. - 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.sh
file terhadap tanda tangan dalamdotnet-install.sig
file. - 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.