Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 pro instalaci rozhraní .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>]
[-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
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,x86arm64arms390xppc64le, a .riscv64Výchozí hodnota je<auto>, která představuje aktuálně spuštěnou architekturu operačního systému.-AzureFeed|--azure-feedJen pro interní potřebu Umožňuje stahovat archivy sady SDK z jiného úložiště. 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.18.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
versionpřepíšechannelparametr, pokud se použije jakákoli jiná verze, nežlatestje použita.Výchozí hodnota je
LTS. Další informace o kanálech podpory .NET najdete na stránce zásad podpory .NET.-
-DryRun|--dry-runPokud 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-credentialSlouží 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.
--helpVytiskne 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.-NoPath|--no-pathPokud 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.
-ProxyAddressPokud 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.)-ProxyUseDefaultCredentialsPokud 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,previewaGA.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/sdkmusí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. -
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
--qualitymožnost funguje pouze v kombinaci s--channel, ale není použitelná pro kanálySTSaLTSbude ignorována, pokud se použije jeden z těchto kanálů.Pro instalaci sady SDK použijte
channelhodnotu, která je ve formátu neboA.BveA.B.Cxxformátu. Pro instalaci modulu runtime použijtechannelformátA.B.Nepoužívejte oba
versionparametry aniqualityparametry. Pokudqualityje 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.Appmodul runtime. -
aspnetcore: SdílenýMicrosoft.AspNetCore.Appmodul runtime. -
windowsdesktopSdílenýMicrosoft.WindowsDesktop.Appmodul 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-runtimePoznámka:
Tento parametr je zastaralý a může být odebrán v budoucí verzi skriptu. Doporučenou alternativou
-Runtime|--runtimeje 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-filesPřeskočí instalaci souborů, které nejsou verze, například dotnet.exe, pokud už existují.
-UncachedFeed|--uncached-feedJen pro interní potřebu Umožňuje stahovat archivy sady SDK z jiného úložiště. Tento parametr přepíše
-AzureFeed|--azure-feed.-KeepZip|--keep-zipPokud 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|--verboseZobrazí 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-Channelmožností). - Třídílná verze ve formátu X.Y.Z představující konkrétní verzi sestavení;
-Channelnahrazuje možnost. Například:2.0.0-preview2-006120.
Pokud není zadáno,
-Versionje výchozí hodnotalatest.-
Příklady
Nainstalujte nejnovější dlouhodobou podporovanou verzi (LTS) do výchozího umístění:
Windows:
./dotnet-install.ps1 -Channel LTSmacOS/Linux:
./dotnet-install.sh --channel LTSNainstalujte 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:\climacOS/Linux:
./dotnet-install.sh --channel 6.0.1xx --quality preview --install-dir ~/cliNainstalujte verzi 6.0.0 sdíleného modulu runtime:
Windows:
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0macOS/Linux:
./dotnet-install.sh --runtime dotnet --version 6.0.0Zí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>Nainstalujte více verzí, ale nepřepíšete
dotnetbinární soubory z předchozích instalací.Pokud nainstalujete sady .NET SDK nebo modul runtime .NET ze starší verze nad novější verzi, je potřeba použít
--skip-non-versioned-filessoubory bez verzedotnet, aby soubory z předchozí verze nepřepsaly stejné soubory z novější verze.:~ $ ./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]
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_ROOTTato proměnná je nastavená na složku .NET nainstalovaná, například
$HOME/.dotnetpro Linux a macOS, a$HOME\.dotnetv PowerShellu pro Windows.PATHTato proměnná by měla obsahovat
DOTNET_ROOTsložku i složku .dotnet/tools uživatele. Obecně se$HOME/.dotnet/toolsjedná o Linux a macOS a$HOME\.dotnet\toolsv PowerShellu ve Windows.
Návod
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 nebowgetcurl. -
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.shsouboru proti podpisu vdotnet-install.sigsouboru. -
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 0indikující úspěch.