Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
O comportamento do script de instalação foi alterado. Ele baixa o .NET de novos locais de rede. Para obter mais informações, consulte Crítico: os links de instalação do .NET estão mudando.
Nome
dotnet-install.ps1
|
dotnet-install.sh - Script usado para instalar o SDK do .NET e o runtime compartilhado.
Sinopse
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
O script de bash também lê comutadores do PowerShell. Portanto, você pode usar comutadores do PowerShell com o script nos sistemas Linux/macOS.
Descrição
O scripts dotnet-install executam uma instalação não administrativa do SDK do .NET, que inclui a CLI do .NET e o runtime compartilhado. Há dois scripts:
- Um script do PowerShell que funciona no Windows. Para obter as instruções de instalação, consulte Instalação no Windows.
- Um script bash que funciona no Linux/macOS. Para obter as instruções de instalação, consulte Instalação no Linux e Instalação no macOS.
Observação
O .NET coleta dados de telemetria. Para saber mais e como recusar, consulte Telemetria do SDK do .NET.
Finalidade
O uso pretendido dos scripts é para cenários de CI (integração contínua), em que:
O SDK precisa ser instalado sem interação do usuário e sem direitos de administrador.
A instalação do SDK não precisa persistir em várias execuções de CI.
A sequência típica de eventos:
- A CI é disparada.
- A CI instala o SDK usando um desses scripts.
- A CI conclui seu trabalho e limpa dados temporários, incluindo a instalação do SDK.
Para configurar um ambiente de desenvolvimento ou executar aplicativos, use os instaladores em vez desses scripts.
Versão recomendada
Recomendamos que você use a versão estável dos scripts:
- Bash (Linux/macOS): https://dot.net/v1/dotnet-install.sh
- PowerShell (Windows): https://dot.net/v1/dotnet-install.ps1
A fonte dos scripts está no repositório dotnet/install-scripts do GitHub.
Comportamento do script
Ambos os scripts têm o mesmo comportamento. Eles baixam o arquivo ZIP/tarball dos destinos de build da CLI e o instalam no local padrão ou em um local especificado por -InstallDir|--install-dir.
Por padrão, os scripts de instalação baixam o SDK e o instalam. Se você quiser obter somente o runtime compartilhado, especifique o argumento -Runtime|--runtime.
Por padrão, o script adiciona o local de instalação ao $PATH da sessão atual. Substitua esse comportamento padrão especificando o argumento -NoPath|--no-path. O script não define a variável de ambiente DOTNET_ROOT.
Importante
O script não adiciona o local de instalação à variável de ambiente PATH do usuário, você deve adicioná-lo manualmente.
Antes de executar o script, verifique se o sistema operacional é compatível. Para obter mais informações, consulte Instalar o .NET no Windows, Linux e macOS.
Você pode instalar uma versão específica usando o argumento -Version|--version. A versão deve ser especificada como uma versão de três partes, como 2.1.0. Se a versão não for especificada, o script instalará a versão latest.
Os scripts de instalação não atualizam o registro no Windows. Eles apenas baixam os binários compactados e os copiam para uma pasta. Se você quiser que os valores de chave do registro sejam atualizados, use os instaladores do .NET.
Opções
-Architecture|--architecture <ARCHITECTURE>Arquitetura dos binários do .NET para instalação. Os valores possíveis são
<auto>,amd64,x64,x86arm64, ,arm,s390x, , eppc64leriscv64. O valor padrão é<auto>, que representa a arquitetura do sistema operacional em execução no momento.-AzureFeed|--azure-feedApenas para uso interno. Permite o uso de um armazenamento diferente para baixar arquivos do SDK. O padrão é
https://builds.dotnet.microsoft.com/dotnet.-Channel|--channel <CHANNEL>Especifica o canal de origem da instalação. Os valores possíveis são:
-
STS: a versão mais recente do Suporte a Prazo Standard. -
LTS: a versão mais recente do Suporte de Longo Prazo. - Versão de duas partes no formato A.B, que representa uma versão específica (por exemplo,
3.1ou8.0). - Versão de três partes no formato A.B.Cxx, representando uma versão específica do SDK (por exemplo, 8.0.1xx ou 8.0.2xx). Disponível desde a versão 5.0.
O parâmetro
versionsubstitui o parâmetrochannelquando qualquer versão que nãolatestfor usada.O valor padrão é
LTS. Para saber mais sobre os canais de suporte do .NET, consulte a página Política de suporte do .NET.-
-DryRun|--dry-runSe definido, o script não executará a instalação. Em vez disso, exibirá qual linha de comando deve ser usada para instalar de forma consistente a versão atualmente solicitada da CLI do .NET. Por exemplo, se você especificar a versão
latest, será exibido um link com a versão específica, para que este comando possa ser usado de forma determinista em um script de build. Ele também exibirá o local dos binários, caso você prefira instalá-lo ou baixá-lo por conta própria.-FeedCredential|--feed-credentialUsado como uma cadeia de caracteres de consulta para acrescentar ao feed do Azure. Permite alterar a URL para usar contas de armazenamento de blobs não públicos.
--helpImprime a ajuda do script. Aplica-se somente ao script bash. Para o PowerShell, use
Get-Help ./dotnet-install.ps1.-InstallDir|--install-dir <DIRECTORY>Especifica o caminho da instalação. O diretório será criado se não existir. O valor padrão é %LocalAppData%\Microsoft\dotnet no Windows e $HOME/.dotnet no Linux/macOS. Os binários são colocados diretamente nesse diretório.
-JSonFile|--jsonfile <JSONFILE>Especifica um caminho para um arquivo global.json que será usado para determinar a versão do SDK. O arquivo global.json deve ter um valor para
sdk:version.-NoPath|--no-pathSe definida, a pasta de instalação não será exportada para o caminho da sessão atual. Por padrão, o script modifica o PATH, o que torna a CLI do .NET disponível imediatamente após a instalação.
-ProxyAddressSe for definido, o instalador usará o proxy ao fazer solicitações da Web. (Válido somente para Windows.)
-ProxyBypassList <LIST_OF_URLS>Se definido com
ProxyAddress, fornece uma lista de URLs separadas por vírgula que ignorarão o proxy. (Válido somente para Windows.)-ProxyUseDefaultCredentialsSe definido, o instalador usará as credenciais do usuário atual ao usar o endereço de proxy. (Válido somente para Windows.)
-Quality|--quality <QUALITY>Baixa a build mais recente da qualidade especificada no canal. Os valores possíveis são
daily,previeweGA.Os diferentes valores de qualidade sinalizam diferentes estágios do processo de liberação do SDK ou do Runtime instalado.
-
daily: as compilações mais recentes do SDK ou do Runtime. Eles são criados todos os dias e não são testados. Não são recomendadas para uso em produção, mas muitas vezes podem ser utilizadas para testar recursos ou correções específicas imediatamente após serem incorporadas ao produto. Essas compilações são do repositóriodotnet/installere, portanto, se estiver procurando correções dodotnet/sdk: é preciso esperar que o fluxo do código seja mesclado do SDK para o Instalador antes que ele apareça em uma compilação diária. -
preview: os lançamentos públicos mensais da próxima versão do .NET, destinados ao uso público. Não é recomendado para uso em produção. Destina-se a permitir que os usuários experimentem e testem a nova versão principal antes do lançamento. -
GA: as versões estáveis finais do SDK e do runtime do .NET. Destinadas ao uso público e ao suporte à produção.
A opção
--qualityfunciona apenas em combinação com--channel, mas não é aplicável aos canaisSTSeLTSe será ignorada se um desses canais for usado.Para uma instalação de SDK, use um valor
channelque esteja no formatoA.BouA.B.Cxx. Para uma instalação de runtime, usechannelno formatoA.B.Não use ambos os parâmetros
versionequality. Quandoqualityé especificado, o script determina a versão adequada por conta própria.Disponível desde a versão 5.0.
-
-Runtime|--runtime <RUNTIME>Instala apenas o runtime compartilhado, não todo o SDK. Os valores possíveis são:
-
dotnet: o runtime compartilhadoMicrosoft.NETCore.App. -
aspnetcore: o runtime compartilhadoMicrosoft.AspNetCore.App. -
windowsdesktopO runtime compartilhadoMicrosoft.WindowsDesktop.App.
-
--os <OPERATING_SYSTEM>Especifica o sistema operacional para o qual as ferramentas estão sendo instaladas. Os possíveis valores são:
osx,macos,linux,linux-muslefreebsd.O parâmetro é opcional e só deve ser usado quando for necessário substituir o sistema operacional detectado pelo script.
-SharedRuntime|--shared-runtimeObservação
Esse parâmetro está obsoleto e pode ser removido em uma versão futura do script. A alternativa recomendada é a opção
-Runtime|--runtime.Instala apenas os bits de runtime compartilhado, não todo o SDK. Essa opção é equivalente a especificar
-Runtime|--runtime dotnet.-SkipNonVersionedFiles|--skip-non-versioned-filesIgnora a instalação de arquivos sem controle de versão, como dotnet.exe, se já existirem.
-UncachedFeed|--uncached-feedApenas para uso interno. Permite o uso de um armazenamento diferente para baixar arquivos do SDK. Esse parâmetro substitui
-AzureFeed|--azure-feed.-KeepZip|--keep-zipSe definido, o arquivo SDK baixado será mantido após a instalação.
-ZipPath|--zip-path <PATH>Se definido, o arquivo SDK baixado será armazenado no caminho especificado.
-Verbose|--verboseExibe informações de diagnóstico.
-Version|--version <VERSION>Representa uma versão específica do build. Os valores possíveis são:
-
latest: última compilação no canal (utilizada com a opção-Channel). - Versão de três partes no formato X.Y.Z que representa uma determinada versão do build; substitui a opção
-Channel. Por exemplo:2.0.0-preview2-006120.
Se não for especificada, a
-Versionassumirá o padrãolatest.-
Exemplos
Instale a versão LTS (suportada a longo prazo) no local padrão:
Windows:
./dotnet-install.ps1 -Channel LTSmacOS/Linux:
./dotnet-install.sh --channel LTSInstale a versão prévia mais recente do SDK 6.0.1xxx para o local especificado:
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 ~/cliInstale a versão 6.0.0 do runtime compartilhado:
Windows:
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0macOS/Linux:
./dotnet-install.sh --runtime dotnet --version 6.0.0Obtenha o script e instale a versão 6.0.2 atrás de um proxy corporativo (somente 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;Obtenha o script e instale exemplos de uma linha da CLI do .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>Instale várias versões sem substituir
dotnetbinários de instalações anteriores.Se você instalar os SDKs do .NET ou o runtime do .NET de uma versão anterior na parte superior de uma versão mais recente, será necessário usar
--skip-non-versioned-filespara que os arquivos "não reversos"dotnetda versão anterior não substituam os mesmos arquivos da versão mais recente.:~ $ ./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]
Definir variáveis de ambiente
A instalação manual do .NET não adiciona as variáveis de ambiente em todo o sistema e geralmente funciona apenas para a sessão na qual o .NET foi instalado. Há duas variáveis de ambiente que você deve definir para seu sistema operacional:
DOTNET_ROOTEssa variável é definida como a pasta para a qual o .NET foi instalado, como
$HOME/.dotnetpara Linux e macOS, e$HOME\.dotnetno PowerShell para Windows.PATHEssa variável deve incluir a pasta
DOTNET_ROOTe a pasta .dotnet/tools do usuário. Geralmente, isso é$HOME/.dotnet/toolsno Linux e macOS e$HOME\.dotnet\toolsno PowerShell no Windows.
Dica
Para Linux e macOS, use o comando echo para definir as variáveis no perfil do shell, como .bashrc:
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
Desinstalar
Não há script de desinstalação. Para obter informações sobre a desinstalação manual do .NET, confira Como remover o . Runtime e o SDK do .NET.
Validação de assinatura de dotnet-install.sh
A validação de assinatura é uma medida de segurança importante que ajuda a garantir a autenticidade e a integridade de um script. Com a verificação da assinatura de um script, você pode ter certeza de que ele não foi adulterado e que vem de uma fonte confiável.
Veja aqui um guia passo a passo sobre como verificar a autenticidade do script dotnet-install.sh usando GPG:
- Instalar o GPG: o GPG (GNU Privacy Guard) é uma ferramenta gratuita e de código aberto para criptografar e assinar dados. Você pode instalá-lo seguindo as instruções no site do GPG.
-
Importar nossa chave pública: baixe o arquivo de chave pública install-scripts e importe-o para o keyring GPG executando o comando
gpg --import dotnet-install.asc. -
Baixar o arquivo de assinatura: o arquivo de assinatura para nosso script Bash está disponível em
https://dot.net/v1/dotnet-install.sig. Você pode baixá-lo usando uma ferramenta comowgetoucurl. -
Verificar a assinatura: para verificar a assinatura do nosso script Bash, execute o comando
gpg --verify dotnet-install.sig dotnet-install.sh. Isso verificará a assinatura do arquivodotnet-install.shem relação à assinatura no arquivodotnet-install.sig. -
Verificar o resultado: se a assinatura for válida, você verá uma mensagem contendo
Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>". Isso significa que o script não foi adulterado e é confiável.
Preparando o ambiente
A instalação do GPG e a importação da nossa chave pública é uma operação única.
sudo apt install gpg
wget https://dot.net/v1/dotnet-install.asc
gpg --import dotnet-install.asc
Quando for bem-sucedida, você deverá ver uma saída semelhante a esta:
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
Download e verificação
Com a chave importada, você pode baixar o script e a assinatura e verificar se o script corresponde à assinatura:
wget https://dot.net/v1/dotnet-install.sh
wget https://dot.net/v1/dotnet-install.sig
gpg --verify dotnet-install.sig dotnet-install.sh
Quando for bem-sucedida, você deverá ver uma saída semelhante a esta:
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
O aviso significa que você não confia na chave pública no keyring, mas o script ainda é verificado. O código de saída retornado pelo comando de verificação deve ser 0, o que indica êxito.