dotnet-install scripts reference (Dokumentacja skryptów dotnet-install)
Nazwisko
dotnet-install.ps1
| dotnet-install.sh
— Skrypt służący do instalowania zestawu .NET SDK i środowiska uruchomieniowego udostępnionego.
Streszczenie
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
Skrypt powłoki bash odczytuje również przełączniki programu PowerShell, dzięki czemu można używać przełączników programu PowerShell ze skryptem w systemach Linux/macOS.
opis
Skrypty dotnet-install
wykonują instalację zestawu SDK platformy .NET, która obejmuje interfejs wiersza polecenia platformy .NET i środowisko uruchomieniowe udostępnione. Istnieją dwa skrypty:
- Skrypt programu PowerShell, który działa w systemie Windows. Aby uzyskać instrukcje dotyczące instalacji, zobacz Instalowanie w systemie Windows.
- Skrypt powłoki bash, który działa w systemie Linux/macOS. Aby uzyskać instrukcje dotyczące instalacji, zobacz Instalowanie w systemie Linux i instalowanie w systemie macOS.
Uwaga
Platforma .NET zbiera dane telemetryczne. Aby dowiedzieć się więcej i jak zrezygnować, zobacz Telemetria zestawu .NET SDK.
Purpose
Przeznaczenie skryptów dotyczy scenariuszy ciągłej integracji (CI), w których:
Zestaw SDK należy zainstalować bez interakcji z użytkownikiem i bez uprawnień administratora.
Instalacja zestawu SDK nie musi być utrwalana w wielu przebiegach ciągłej integracji.
Typowa sekwencja zdarzeń:
- Ciągła integracja jest wyzwalana.
- Ciągła integracja instaluje zestaw SDK przy użyciu jednego z tych skryptów.
- Ciągła integracja kończy pracę i czyści tymczasowe dane, w tym instalację zestawu SDK.
Aby skonfigurować środowisko programistyczne lub uruchamiać aplikacje, użyj instalatorów, a nie tych skryptów.
Rekomendowana wersja
Zalecamy używanie stabilnej wersji skryptów:
- Bash (Linux/macOS): https://dot.net/v1/dotnet-install.sh
- PowerShell (Windows): https://dot.net/v1/dotnet-install.ps1
Źródło skryptów znajduje się w repozytorium GitHub dotnet/install-scripts .
Zachowanie skryptu
Oba skrypty mają takie samo zachowanie. Pobierają plik ZIP/tarball ze zrzutów kompilacji interfejsu wiersza polecenia i kontynuują instalację w lokalizacji domyślnej lub w lokalizacji określonej przez -InstallDir|--install-dir
.
Domyślnie skrypty instalacyjne pobierają zestaw SDK i instalują go. Jeśli chcesz uzyskać tylko środowisko uruchomieniowe udostępnione, określ -Runtime|--runtime
argument .
Domyślnie skrypt dodaje lokalizację instalacji do $PATH dla bieżącej sesji. Zastąpi to domyślne zachowanie, określając -NoPath|--no-path
argument. Skrypt nie ustawia zmiennej środowiskowej DOTNET_ROOT
.
Ważne
Skrypt nie dodaje lokalizacji instalacji do zmiennej środowiskowej użytkownika PATH
. Należy dodać ją ręcznie.
Przed uruchomieniem skryptu upewnij się, że system operacyjny jest obsługiwany. Aby uzyskać więcej informacji, zobacz Instalowanie platformy .NET w systemach Windows, Linux i macOS.
Określoną wersję można zainstalować przy użyciu argumentu -Version|--version
. Wersja musi być określona jako trzyczęściowy numer wersji, taki jak 2.1.0
. Jeśli wersja nie zostanie określona, skrypt zainstaluje latest
wersję.
Skrypty instalacji nie aktualizują rejestru w systemie Windows. Po prostu pobierają spakowane pliki binarne i kopiują je do folderu. Jeśli chcesz zaktualizować wartości kluczy rejestru, użyj instalatorów platformy .NET.
Opcje
-Architecture|--architecture <ARCHITECTURE>
Architektura plików binarnych platformy .NET do zainstalowania. Możliwe wartości to
<auto>
,amd64
arm
x64
arm64
s390x
x86
, ,ppc64le
, i .riscv64
Wartość domyślna to<auto>
, która reprezentuje obecnie uruchomioną architekturę systemu operacyjnego.-AzureFeed|--azure-feed
Tylko do użytku wewnętrznego. Umożliwia korzystanie z innego magazynu do pobierania archiwów zestawu SDK. Ten parametr jest używany tylko wtedy, gdy --no-cdn ma wartość false. Wartość domyślna to
https://dotnetcli.azureedge.net/dotnet
.-Channel|--channel <CHANNEL>
Określa kanał źródłowy instalacji. Możliwe wartości to:
STS
: najnowsza wersja standardowego wsparcia terminowego.LTS
: najnowsza długoterminowa wersja pomocy technicznej.- Dwuczęściowa wersja w formacie A.B reprezentująca określoną wersję (na przykład
3.1
lub8.0
). - Trzyczęściowa wersja w formacie A.B.Cxx reprezentująca określoną wersję zestawu SDK (na przykład 8.0.1xx lub 8.0.2xx). Dostępne od wersji 5.0.
version
Parametr zastępujechannel
parametr, gdy jest używana dowolna wersja inna niżlatest
jest używana.Domyślna wartość to
LTS
. Aby uzyskać więcej informacji na temat kanałów pomocy technicznej platformy .NET, zobacz stronę Zasady pomocy technicznej platformy .NET.-DryRun|--dry-run
W przypadku ustawienia skrypt nie wykona instalacji. Zamiast tego wyświetla wiersz polecenia używany do spójnego instalowania aktualnie żądanej wersji interfejsu wiersza polecenia platformy .NET. Jeśli na przykład określisz wersję
latest
, zostanie wyświetlony link z określoną wersją, aby można było użyć tego polecenia deterministycznie w skrycie kompilacji. Wyświetla również lokalizację pliku binarnego, jeśli wolisz go zainstalować lub pobrać samodzielnie.-FeedCredential|--feed-credential
Służy jako ciąg zapytania do dołączania do źródła danych platformy Azure. Umożliwia zmianę adresu URL na używanie kont magazynu obiektów blob innych niż publiczne.
--help
Drukuje pomoc dotyczącą skryptu. Dotyczy tylko skryptu powłoki bash. W przypadku programu PowerShell użyj polecenia
Get-Help ./dotnet-install.ps1
.-InstallDir|--install-dir <DIRECTORY>
Określa ścieżkę instalacji. Katalog zostanie utworzony, jeśli nie istnieje. Wartość domyślna to %LocalAppData%\Microsoft\dotnet w systemie Windows i $HOME/.dotnet w systemie Linux/macOS. Pliki binarne są umieszczane bezpośrednio w tym katalogu.
-JSonFile|--jsonfile <JSONFILE>
Określa ścieżkę do pliku global.json , który będzie używany do określania wersji zestawu SDK. Plik global.json musi mieć wartość .
sdk:version
-NoCdn|--no-cdn
Wyłącza pobieranie z usługi Azure Content Delivery Network (CDN) i korzysta bezpośrednio z niecachedowanego źródła danych.
-NoPath|--no-path
W przypadku ustawienia folder instalacyjny nie zostanie wyeksportowany do ścieżki bieżącej sesji. Domyślnie skrypt modyfikuje ścieżkę, dzięki czemu interfejs wiersza polecenia platformy .NET jest dostępny natychmiast po zainstalowaniu.
-ProxyAddress
W przypadku ustawienia instalator używa serwera proxy podczas wykonywania żądań internetowych. (Tylko prawidłowe dla systemu Windows).
-ProxyBypassList <LIST_OF_URLS>
Jeśli ustawiono wartość z parametrem
ProxyAddress
, zawiera listę adresów URL rozdzielanych przecinkami, które będą pomijać serwer proxy. (Tylko prawidłowe dla systemu Windows).-ProxyUseDefaultCredentials
W przypadku ustawienia instalator używa poświadczeń bieżącego użytkownika podczas korzystania z adresu serwera proxy. (Tylko prawidłowe dla systemu Windows).
-Quality|--quality <QUALITY>
Pobiera najnowszą kompilację określonej jakości w kanale. Możliwe wartości to:
daily
, ,signed
validated
,preview
, iGA
. Większość użytkowników powinna używaćdaily
cech ,preview
lubGA
.Różne wartości jakości sygnalizuje różne etapy procesu wydania zainstalowanego zestawu SDK lub środowiska uruchomieniowego.
daily
: najnowsze kompilacje zestawu SDK lub środowiska uruchomieniowego. Są one tworzone codziennie i nie są testowane. Nie są one zalecane do użytku produkcyjnego, ale często mogą być używane do testowania określonych funkcji lub poprawek natychmiast po ich scaleniu z produktem. Te kompilacje pochodzą zdotnet/installer
repozytorium, więc jeśli szukasz poprawek,dotnet/sdk
musisz poczekać na przepływ kodu i scalić go z zestawu SDK do Instalatora, zanim pojawi się w codziennej kompilacji.signed
: kompilacje podpisane przez firmę Microsoft, które nie są weryfikowane ani udostępniane publicznie. Podpisane kompilacje są kandydatami do weryfikacji, wersji zapoznawczej i ogólnie dostępnej wersji. Ten poziom jakości nie jest przeznaczony do użytku publicznego.validated
: Kompilacje, które miały na nich wykonane testy wewnętrzne, ale nie zostały jeszcze wydane jako wersja zapoznawcza lub ogólnie dostępna. Ten poziom jakości nie jest przeznaczony do użytku publicznego.preview
: miesięczne publiczne wydania następnej wersji platformy .NET przeznaczonej do użytku publicznego. Nie zaleca się używania w środowisku produkcyjnym. Ma na celu umożliwienie użytkownikom eksperymentowania i testowania nowej wersji głównej przed wydaniem.GA
: ostateczne stabilne wersje zestawu .NET SDK i środowiska uruchomieniowego. Przeznaczone do użytku publicznego, a także do obsługi produkcyjnej.
Opcja
--quality
działa tylko w połączeniu z elementem--channel
, ale nie ma zastosowania doSTS
kanałów iLTS
i zostanie zignorowana, jeśli jeden z tych kanałów jest używany.W przypadku instalacji zestawu SDK użyj
channel
wartości, która jest w formacie lubA.B.Cxx
.A.B
W przypadku instalacji środowiska uruchomieniowego użyjchannel
formatuA.B
.Nie używaj parametrów
version
i .quality
Poquality
określeniu skrypt określa właściwą wersję samodzielnie.Dostępne od wersji 5.0.
-Runtime|--runtime <RUNTIME>
Instaluje tylko środowisko uruchomieniowe udostępnione, a nie cały zestaw SDK. Możliwe wartości to:
dotnet
Microsoft.NETCore.App
: udostępnione środowisko uruchomieniowe.aspnetcore
Microsoft.AspNetCore.App
: udostępnione środowisko uruchomieniowe.windowsdesktop
UdostępnioneMicrosoft.WindowsDesktop.App
środowisko uruchomieniowe.
--os <OPERATING_SYSTEM>
Określa system operacyjny, dla którego są instalowane narzędzia. Możliwe wartości to:
osx
, ,linux
macos
,linux-musl
,freebsd
.Parametr jest opcjonalny i powinien być używany tylko wtedy, gdy jest wymagany do zastąpienia systemu operacyjnego wykrytego przez skrypt.
-SharedRuntime|--shared-runtime
Uwaga
Ten parametr jest przestarzały i może zostać usunięty w przyszłej wersji skryptu. Zalecaną alternatywą
-Runtime|--runtime
jest opcja.Instaluje tylko bity środowiska uruchomieniowego udostępnionego, a nie całego zestawu SDK. Ta opcja jest równoważna określeniu
-Runtime|--runtime dotnet
elementu .-SkipNonVersionedFiles|--skip-non-versioned-files
Pomija instalowanie plików innych niż wersje, takich jak dotnet.exe, jeśli już istnieją.
-UncachedFeed|--uncached-feed
Tylko do użytku wewnętrznego. Umożliwia korzystanie z innego magazynu do pobierania archiwów zestawu SDK. Ten parametr jest używany tylko wtedy, gdy wartość --no-cdn ma wartość true.
-KeepZip|--keep-zip
W przypadku ustawienia pobrane archiwum zestawu SDK jest przechowywane po instalacji.
-ZipPath|--zip-path <PATH>
W przypadku ustawienia pobrane archiwum zestawu SDK jest przechowywane w określonej ścieżce.
-Verbose|--verbose
Wyświetla informacje diagnostyczne.
-Version|--version <VERSION>
Reprezentuje określoną wersję kompilacji. Możliwe wartości to:
latest
: najnowsza kompilacja w kanale (używana z opcją-Channel
).- Trzyczęściowa wersja w formacie X.Y.Z reprezentująca określoną wersję kompilacji;
-Channel
zastępuje opcję . Na przykład:2.0.0-preview2-006120
.
Jeśli nie zostanie określony,
-Version
wartość domyślna tolatest
.
Przykłady
Zainstaluj najnowszą wersję obsługiwaną długoterminową (LTS) do lokalizacji domyślnej:
Windows:
./dotnet-install.ps1 -Channel LTS
macOS/Linux:
./dotnet-install.sh --channel LTS
Zainstaluj najnowszą wersję zapoznawcza zestawu SDK 6.0.1xx do określonej lokalizacji:
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
Zainstaluj wersję środowiska uruchomieniowego udostępnionego w wersji 6.0.0:
Windows:
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0
macOS/Linux:
./dotnet-install.sh --runtime dotnet --version 6.0.0
Uzyskaj skrypt i zainstaluj wersję 6.0.2 za firmowym serwerem proxy (tylko system 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;
Uzyskaj skrypt i zainstaluj przykłady jednego wiersza polecenia platformy .NET:
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>
Ustawianie zmiennych środowiskowych
Ręczne instalowanie platformy .NET nie powoduje dodania zmiennych środowiskowych dla całego systemu i ogólnie działa tylko dla sesji, w której zainstalowano platformę .NET. Istnieją dwie zmienne środowiskowe, które należy ustawić dla systemu operacyjnego:
DOTNET_ROOT
Ta zmienna jest ustawiona na folder .NET został zainstalowany, na przykład
$HOME/.dotnet
dla systemów Linux i macOS oraz$HOME\.dotnet
w programie PowerShell dla systemu Windows.PATH
Ta zmienna powinna zawierać zarówno folder, jak
DOTNET_ROOT
i folder .dotnet/tools użytkownika. Ogólnie jest$HOME/.dotnet/tools
to w systemach Linux i macOS oraz$HOME\.dotnet\tools
w programie PowerShell w systemie Windows.
Napiwek
W przypadku systemów Linux i macOS użyj echo
polecenia , aby ustawić zmienne w profilu powłoki, takie jak bashrc:
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
Odinstaluj program
Nie ma skryptu odinstalowywania. Aby uzyskać informacje na temat ręcznego odinstalowywania platformy .NET, zobacz Jak usunąć środowisko uruchomieniowe platformy .NET i zestaw SDK.
Walidacja podpisu dotnet-install.sh
Walidacja podpisu to ważna miara zabezpieczeń, która pomaga zapewnić autentyczność i integralność skryptu. Sprawdzając podpis skryptu, możesz mieć pewność, że nie został on naruszony i pochodzi z zaufanego źródła.
Oto szczegółowy przewodnik dotyczący weryfikowania autentyczności skryptu dotnet-install.sh
przy użyciu grupy zasad grupy:
- Instalowanie gpG: GPG (GNU Privacy Guard) to bezpłatne narzędzie typu open source do szyfrowania i podpisywania danych. Można go zainstalować, postępując zgodnie z instrukcjami w witrynie internetowej grupy zasad grupy.
- Zaimportuj klucz publiczny: pobierz plik klucza publicznego install-scripts, a następnie zaimportuj go do klucza gpG, uruchamiając polecenie
gpg --import dotnet-install.asc
. - Pobierz plik podpisu: plik podpisu dla naszego skryptu powłoki bash jest dostępny pod adresem
https://dot.net/v1/dotnet-install.sig
. Możesz go pobrać przy użyciu narzędzia takiego jakwget
lubcurl
. - Sprawdź podpis: Aby zweryfikować podpis skryptu powłoki bash, uruchom polecenie
gpg --verify dotnet-install.sig dotnet-install.sh
. Spowoduje to sprawdzenie podpisudotnet-install.sh
pliku względem podpisu wdotnet-install.sig
pliku. - Sprawdź wynik: jeśli podpis jest prawidłowy, zostanie wyświetlony komunikat zawierający
Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>"
. Oznacza to, że skrypt nie został naruszony i może być zaufany.
Przygotowywanie środowiska
Instalowanie grupy zasad grupy i importowanie klucza publicznego jest jednorazową operacją.
sudo apt install gpg
wget https://dot.net/v1/dotnet-install.asc
gpg --import dotnet-install.asc
Po pomyślnym zakończeniu powinny zostać wyświetlone dane wyjściowe podobne do następujących:
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
Pobieranie i weryfikacja
Zaimportowany klucz umożliwia teraz pobranie skryptu i podpisu, a następnie sprawdzenie, czy skrypt jest zgodny z podpisem:
wget https://dot.net/v1/dotnet-install.sh
wget https://dot.net/v1/dotnet-install.sig
gpg --verify dotnet-install.sig dotnet-install.sh
Po pomyślnym zakończeniu powinny zostać wyświetlone dane wyjściowe podobne do następujących:
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
Ostrzeżenie oznacza, że nie ufasz kluczowi publicznemu w kluczu kluczy, ale skrypt jest nadal weryfikowany. Kod zakończenia zwrócony przez polecenie weryfikacji powinien wskazywać 0
powodzenie.