dotnet-install scripts reference
Poznámka: Chování instalačního skriptu se změnilo. Stáhne .NET z nových síťových umístění. Další informace najdete v tématu Kritické: Odkazy na instalaci .NET se mění.
Název
dotnet-install.ps1
|
dotnet-install.sh
– Skript použitý k instalaci sady .NET SDK a sdíleného modulu runtime.
Synopse
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
Skript Bash také čte přepínače PowerShellu, takže můžete použít přepínače PowerShellu se skriptem v systémech Linux/macOS.
Popis
Skripty dotnet-install
provádějí instalaci sady .NET SDK, která není správcem, včetně rozhraní příkazového řádku .NET a sdíleného modulu runtime. Existují dva skripty:
- Skript PowerShellu, který funguje ve Windows. Pokyny k instalaci najdete v tématu Instalace ve Windows.
- Skript Bash, který funguje v Linuxu nebo macOS. Pokyny k instalaci najdete v tématu Instalace v Systému Linux a Instalace v systému macOS.
Poznámka:
.NET shromažďuje telemetrická data. Další informace a způsob odhlášení najdete v tématu Telemetrie sady .NET SDK.
Účel
Zamýšlené použití skriptů je pro scénáře kontinuální integrace (CI), kde:
Sadu SDK je potřeba nainstalovat bez zásahu uživatele a bez práv správce.
Instalace sady SDK nemusí přetrvávat napříč několika spuštěními CI.
Typická posloupnost událostí:
- Ci se aktivuje.
- CI nainstaluje sadu SDK pomocí jednoho z těchto skriptů.
- CI dokončí svou práci a vymaže dočasná data včetně instalace sady SDK.
Pokud chcete nastavit vývojové prostředí nebo spouštět aplikace, použijte místo těchto skriptů instalační programy.
Doporučená verze
Doporučujeme používat stabilní verzi skriptů:
- Bash (Linux/macOS): https://dot.net/v1/dotnet-install.sh
- PowerShell (Windows): https://dot.net/v1/dotnet-install.ps1
Zdrojem skriptů je úložiště dotnet/install-scripts Na GitHubu.
Chování skriptu
Oba skripty mají stejné chování. Stáhnou soubor ZIP/tarball z buildu ROZHRANÍ příkazového řádku a postoupí k jeho instalaci do výchozího umístění nebo do umístění určeného -InstallDir|--install-dir
.
Ve výchozím nastavení instalační skripty stáhnutí sady SDK a jejich instalace. Pokud chcete získat pouze sdílený modul runtime, zadejte -Runtime|--runtime
argument.
Ve výchozím nastavení skript přidá umístění instalace do $PATH pro aktuální relaci. Toto výchozí chování můžete přepsat zadáním argumentu -NoPath|--no-path
. Skript nenastaví proměnnou DOTNET_ROOT
prostředí.
Důležité
Skript nepřidá umístění instalace do proměnné prostředí uživatele PATH
, musíte ho přidat ručně.
Před spuštěním skriptu se ujistěte, že je podporovaný váš operační systém. Další informace najdete v tématu Instalace .NET ve Windows, Linuxu a macOS.
Konkrétní verzi můžete nainstalovat pomocí argumentu -Version|--version
. Verze musí být zadána jako číslo verze se třemi částmi, například 2.1.0
. Pokud verze není zadaná, skript nainstaluje latest
verzi.
Instalační skripty neaktualizují registr ve Windows. Jednoduše si stáhnou komprimované binární soubory a zkopírují je do složky. Pokud chcete aktualizovat hodnoty klíče registru, použijte instalační programy .NET.
Možnosti
-Architecture|--architecture <ARCHITECTURE>
Architektura binárních souborů .NET, které se mají nainstalovat Možné hodnoty jsou
<auto>
, ,amd64
,x64
,x86
arm64
arm
s390x
ppc64le
, a .riscv64
Výchozí hodnota je<auto>
, která představuje aktuálně spuštěnou architekturu operačního systému.-AzureFeed|--azure-feed
Jen pro interní potřebu Umožňuje stahovat archivy sady SDK z jiného úložiště. Tento parametr se používá pouze v případě, že --no-cdn je false. Výchozí hodnota je
https://builds.dotnet.microsoft.com/dotnet
.-Channel|--channel <CHANNEL>
Určuje zdrojový kanál pro instalaci. Možné hodnoty:
-
STS
: Nejnovější verze standardní podpory termínů. -
LTS
: Nejnovější verze dlouhodobé podpory. - Dvoudílná verze ve formátu A.B představující konkrétní verzi (například
3.1
8.0
). - Třídílná verze ve formátu A.B.Cxx představující konkrétní verzi sady SDK (například 8.0.1xx nebo 8.0.2xx). K dispozici od verze 5.0.
Parametr
version
přepíšechannel
parametr, pokud se použije jakákoli jiná verze, nežlatest
je použita.Výchozí hodnota je
LTS
. Další informace o kanálech podpory .NET najdete na stránce zásad podpory .NET.-
-DryRun|--dry-run
Pokud je tato možnost nastavená, skript instalaci neprovádí. Místo toho zobrazí, jaký příkazový řádek se má použít k konzistentní instalaci aktuálně požadované verze rozhraní příkazového řádku .NET CLI. Pokud například zadáte verzi
latest
, zobrazí odkaz s konkrétní verzí, aby tento příkaz mohl být deterministicky použit ve skriptu sestavení. Zobrazí se také umístění binárního souboru, pokud ho chcete nainstalovat nebo stáhnout sami.-FeedCredential|--feed-credential
Slouží jako řetězec dotazu pro připojení k informačnímu kanálu Azure. Umožňuje změnit adresu URL tak, aby používala nepřístupné účty úložiště objektů blob.
--help
Vytiskne nápovědu pro skript. Platí pouze pro skript Bash. Pro PowerShell použijte
Get-Help ./dotnet-install.ps1
.-InstallDir|--install-dir <DIRECTORY>
Určuje instalační cestu. Adresář se vytvoří, pokud neexistuje. Výchozí hodnota je %LocalAppData%\Microsoft\dotnet ve Windows a $HOME/.dotnet v Linuxu/macOS. Binární soubory jsou umístěny přímo v tomto adresáři.
-JSonFile|--jsonfile <JSONFILE>
Určuje cestu k souboru global.json , který se použije k určení verze sady SDK. Soubor global.json musí mít hodnotu pro
sdk:version
.-NoCdn|--no-cdn
Zakáže stahování ze služby Azure Content Delivery Network (CDN) a používá přímo kanál bez mezipaměti.
-NoPath|--no-path
Pokud je nastavená, instalační složka se neexportuje do cesty pro aktuální relaci. Ve výchozím nastavení skript upraví cestu, která rozhraní příkazového řádku .NET cli zpřístupní okamžitě po instalaci.
-ProxyAddress
Pokud je tato možnost nastavená, instalační program při provádění webových požadavků používá proxy server. (Platí jenom pro Windows.)
-ProxyBypassList <LIST_OF_URLS>
Pokud je tato možnost nastavená
ProxyAddress
, poskytuje seznam adres URL oddělených čárkami, které budou proxy server obejít. (Platí jenom pro Windows.)-ProxyUseDefaultCredentials
Pokud je tato možnost nastavená, instalační program při použití adresy proxy používá přihlašovací údaje aktuálního uživatele. (Platí jenom pro Windows.)
-Quality|--quality <QUALITY>
Stáhne nejnovější build zadané kvality v kanálu. Možné hodnoty jsou:
daily
, ,signed
validated
,preview
aGA
. Většinauživatelůchdaily
preview
GA
Různé hodnoty kvality signalizují různé fáze procesu vydávání nainstalované sady SDK nebo modulu runtime.
-
daily
: Nejnovější buildy sady SDK nebo modulu runtime. Sestavují se každý den a nejsou testovány. Nedoporučuje se pro použití v produkčním prostředí, ale často se dá použít k testování konkrétních funkcí nebo oprav ihned po jejich sloučení do produktu. Tyto buildy pocházejí zdotnet/installer
úložiště, takže pokud hledáte opravy,dotnet/sdk
musíte počkat na tok kódu a sloučit se ze sady SDK do instalačního programu, než se zobrazí v denním buildu. -
signed
: Sestavení podepsaná Microsoftem, která nejsou ověřená nebo veřejně vydaná. Podepsané buildy jsou kandidáty na ověření, verzi Preview a verzi GA. Tato úroveň kvality není určena pro veřejné použití. -
validated
: Buildy, u kterých proběhlo interní testování, ale ještě nejsou vydané jako verze Preview nebo GA. Tato úroveň kvality není určena pro veřejné použití. -
preview
: Měsíční veřejné verze další verze .NET určené pro veřejné použití. Nedoporučuje se pro produkční použití. Cílem je umožnit uživatelům experimentovat a testovat novou hlavní verzi před vydáním. -
GA
: Konečné stabilní verze sady .NET SDK a modulu runtime. Určeno pro veřejné použití i podporu výroby.
Tato
--quality
možnost funguje pouze v kombinaci s--channel
, ale není použitelná pro kanálySTS
aLTS
bude ignorována, pokud se použije jeden z těchto kanálů.Pro instalaci sady SDK použijte
channel
hodnotu, která je ve formátu neboA.B
veA.B.Cxx
formátu. Pro instalaci modulu runtime použijtechannel
formátA.B
.Nepoužívejte oba
version
parametry aniquality
parametry. Pokudquality
je zadán, skript určí správnou verzi samostatně.K dispozici od verze 5.0.
-
-Runtime|--runtime <RUNTIME>
Nainstaluje pouze sdílený modul runtime, ne celou sadu SDK. Možné hodnoty:
-
dotnet
: SdílenýMicrosoft.NETCore.App
modul runtime. -
aspnetcore
: SdílenýMicrosoft.AspNetCore.App
modul runtime. -
windowsdesktop
SdílenýMicrosoft.WindowsDesktop.App
modul runtime.
-
--os <OPERATING_SYSTEM>
Určuje operační systém, pro který se nástroje instalují. Možné hodnoty jsou:
osx
,macos
,linux
,linux-musl
,freebsd
.Parametr je volitelný a měl by se použít pouze v případě, že je potřeba přepsat operační systém, který skript zjistí.
-SharedRuntime|--shared-runtime
Poznámka:
Tento parametr je zastaralý a může být odebrán v budoucí verzi skriptu. Doporučenou alternativou
-Runtime|--runtime
je možnost.Nainstaluje jenom sdílené bity modulu runtime, ne celou sadu SDK. Tato možnost je ekvivalentní zadání
-Runtime|--runtime dotnet
.-SkipNonVersionedFiles|--skip-non-versioned-files
Přeskočí instalaci souborů, které nejsou verze, například dotnet.exe, pokud už existují.
-UncachedFeed|--uncached-feed
Jen pro interní potřebu Umožňuje stahovat archivy sady SDK z jiného úložiště. Tento parametr se používá pouze v případě, že je hodnota --no-cdn pravdivá.
-KeepZip|--keep-zip
Pokud je tato sada nastavená, stažený archiv sady SDK se uchovává po instalaci.
-ZipPath|--zip-path <PATH>
Pokud je nastavená sada, stažený archiv sady SDK se uloží v zadané cestě.
-Verbose|--verbose
Zobrazí diagnostické informace.
-Version|--version <VERSION>
Představuje konkrétní verzi sestavení. Možné hodnoty:
-
latest
: Nejnovější build v kanálu (používá se s-Channel
možností). - Třídílná verze ve formátu X.Y.Z představující konkrétní verzi sestavení;
-Channel
nahrazuje možnost. Například:2.0.0-preview2-006120
.
Pokud není zadáno,
-Version
je výchozí hodnotalatest
.-
Příklady
Nainstalujte nejnovější dlouhodobou podporovanou verzi (LTS) do výchozího umístění:
Windows:
./dotnet-install.ps1 -Channel LTS
macOS/Linux:
./dotnet-install.sh --channel LTS
Nainstalujte nejnovější verzi Preview sady SDK 6.0.1xx do zadaného umístění:
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
Nainstalujte verzi 6.0.0 sdíleného modulu runtime:
Windows:
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0
macOS/Linux:
./dotnet-install.sh --runtime dotnet --version 6.0.0
Získejte skript a nainstalujte verzi 6.0.2 za podnikovým proxy serverem (jenom 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;
Získejte skript a nainstalujte ukázky rozhraní příkazového řádku .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>
Nastavení proměnných prostředí
Ruční instalace .NET nepřidá systémové proměnné prostředí a obecně funguje jenom pro relaci, ve které byla nainstalovaná .NET. Pro operační systém byste měli nastavit dvě proměnné prostředí:
DOTNET_ROOT
Tato proměnná je nastavená na složku .NET nainstalovaná, například
$HOME/.dotnet
pro Linux a macOS, a$HOME\.dotnet
v PowerShellu pro Windows.PATH
Tato proměnná by měla obsahovat
DOTNET_ROOT
složku i složku .dotnet/tools uživatele. Obecně se$HOME/.dotnet/tools
jedná o Linux a macOS a$HOME\.dotnet\tools
v PowerShellu ve Windows.
Tip
V případě Linuxu echo
a macOS použijte příkaz k nastavení proměnných v profilu prostředí, například .bashrc:
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
Odinstalace produktu
Neexistuje žádný skript pro odinstalaci. Informace o ruční odinstalaci rozhraní .NET naleznete v tématu Odebrání modulu runtime .NET a sady SDK.
Ověření podpisu dotnet-install.sh
Ověření podpisu je důležitá bezpečnostní opatření, která pomáhá zajistit pravost a integritu skriptu. Ověřením podpisu skriptu si můžete být jistí, že s ním není manipulováno a že pochází z důvěryhodného zdroje.
Tady je podrobný průvodce ověřením dotnet-install.sh
pravosti skriptu pomocí gpG:
- Nainstalujte GPG: GPG (GNU Privacy Guard) je bezplatný opensourcový nástroj pro šifrování a podepisování dat. Můžete ho nainstalovat podle pokynů na webu GPG.
-
Naimportujte náš veřejný klíč: Stáhněte soubor veřejného klíče install-scripts a pak ho naimportujte do klíčenky GPG spuštěním příkazu
gpg --import dotnet-install.asc
. -
Stáhněte si soubor podpisu: Soubor podpisu pro náš skript Bash je k dispozici na adrese
https://dot.net/v1/dotnet-install.sig
. Můžete si ho stáhnout pomocí nástroje, jako je nebowget
curl
. -
Ověřte podpis: Pokud chcete ověřit podpis našeho skriptu Bash, spusťte příkaz
gpg --verify dotnet-install.sig dotnet-install.sh
. Tím zkontrolujete podpisdotnet-install.sh
souboru proti podpisu vdotnet-install.sig
souboru. -
Zkontrolujte výsledek: Pokud je podpis platný, zobrazí se zpráva obsahující
Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>"
. To znamená, že skript nebyl manipulován a může být důvěryhodný.
Příprava prostředí
Instalace GPG a import veřejného klíče je jednorázová operace.
sudo apt install gpg
wget https://dot.net/v1/dotnet-install.asc
gpg --import dotnet-install.asc
Po úspěšném dokončení by se měl zobrazit výstup podobný tomuto:
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
Stažení a ověření
Když je klíč importovaný, můžete si teď stáhnout skript a podpis a ověřit, že se skript shoduje s 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 úspěšném dokončení by se měl zobrazit výstup podobný tomuto:
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
Upozornění znamená, že veřejný klíč v klíči nedůvěřujete, ale skript je stále ověřený. Ukončovací kód vrácený ověřovacím příkazem by měl být 0
indikující úspěch.