Bagikan melalui


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:

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.

Kami menyarankan agar Anda menggunakan versi stabil skrip:

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>, , x64amd64, x86, arm64, arm, s390x, ppc64le, dan riscv64. 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 atau 8.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 alih channel parameter ketika versi apa pun selain latest 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, , validatedsigned, preview, dan GA. Sebagian besar pengguna harus menggunakan daily, preview, atau GA 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 dari dotnet/installer repositori, dan jadi jika Anda mencari perbaikan dari dotnet/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 untuk STS saluran dan LTS dan akan diabaikan jika salah satu saluran tersebut digunakan.

    Untuk penginstalan SDK, gunakan channel nilai yang dalam A.B format atau A.B.Cxx . Untuk penginstalan runtime, gunakan channel dalam A.B format.

    Jangan gunakan parameter version dan quality . Ketika quality 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: Runtime Microsoft.NETCore.App bersama.
    • aspnetcore: Runtime Microsoft.AspNetCore.App bersama.
    • windowsdesktopMicrosoft.WindowsDesktop.App Runtime 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-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 ke latest.

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:

  1. 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.
  2. Impor kunci publik kami: Unduh file kunci publik install-scripts, lalu impor ke keyring GPG Anda dengan menjalankan perintah gpg --import dotnet-install.asc.
  3. 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 seperti wget atau curl.
  4. Verifikasi tanda tangan: Untuk memverifikasi tanda tangan skrip bash kami, jalankan perintah gpg --verify dotnet-install.sig dotnet-install.sh. Ini akan memeriksa tanda tangan dotnet-install.sh file terhadap tanda tangan dalam dotnet-install.sig file.
  5. 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.

Lihat juga