Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve como instalar o pacote de snap do SDK do .NET. Os pacotes de snap do SDK do .NET são fornecidos e mantidos pela Canonical. Os snaps são uma ótima alternativa ao gerenciador de pacotes integrado à sua distribuição Linux.
Um snap é um pacote de um aplicativo e suas dependências que funciona em muitas distribuições Linux diferentes. Os snaps podem ser descobertos e instalados a partir da Snap Store. Para obter mais informações sobre o Snap, consulte Tour de início rápido.
Atenção
As instalações de snap do .NET podem ter problemas ao executar as ferramentas do .NET. Se você deseja usar ferramentas .NET, recomendamos que você instale o .NET usando o dotnet-install script ou o gerenciador de pacotes para a distribuição Linux específica.
É um problema conhecido que o comando não funciona quando o dotnet watch .NET é instalado via Snap.
Se você vai usar as ferramentas .NET ou o dotnet watch comando, recomendamos que você instale o .NET usando o dotnet-install script.
Pré-requisitos
- Distribuição Linux que suporta snap.
-
snapdo daemon snap.
Sua distribuição Linux já pode incluir snap. Tente executar snap a partir de um terminal para ver se o comando funciona. Para obter uma lista de distribuições Linux suportadas e instruções sobre como instalar o snap, consulte Instalando snapdo .
Versões do .NET
A Microsoft publica o .NET em duas políticas de suporte diferentes, Suporte de Longo Prazo (LTS) e Suporte de Prazo Padrão (STS). A qualidade de todos os lançamentos é a mesma. A única diferença é a duração do apoio. As versões LTS recebem suporte e patches gratuitos por três anos. As versões STS recebem suporte e patches gratuitos por dois anos. Para obter mais informações, consulte Política de suporte do .NET.
As versões do .NET que são atualmente suportadas pela Microsoft são:
- 10.0 (LTS) — O suporte termina em 14 de novembro de 2028.
- 9.0 (STS) — O suporte termina em 10 de novembro de 2026.
- 8.0 (LTS) — O suporte termina em 10 de novembro de 2026.
Outras entidades que criam e lançam o .NET podem introduzir políticas de suporte diferentes. Certifique-se de verificar com eles para entender como o .NET é suportado.
1. Instale o SDK
Importante
O .NET 10 foi lançado em 11 de novembro de 2025. Pode levar algum tempo para que os pacotes apareçam nos feeds do gerenciador de pacotes ou para que sua distribuição Linux específica o inclua.
A partir do .NET 9, os pacotes de snap para o SDK do .NET são publicados em identificadores específicos da versão (por exemplo, dotnet-sdk-90 para o .NET 9 e dotnet-sdk-100 para o .NET 10). Antes do .NET 9, todas as versões do SDK eram publicadas com o mesmo identificador dotnet-sdke você especificou a versão por meio de um canal. Além disso, os pacotes de snap do .NET 9 e posteriores suportam as arquiteturas x64 e Arm64, enquanto as versões anteriores suportam apenas x64. O SDK inclui o tempo de execução do ASP.NET Core e do .NET, versionado para o SDK.
Gorjeta
A página do pacote SDK do Snapcraft .NET inclui instruções específicas de distribuição sobre como instalar o Snapcraft e o .NET.
Abra um terminal.
Use
snap installpara instalar o pacote de snap do SDK do .NET.O parâmetro
--classicé necessário.Para .NET 9 e posterior
Instale o pacote específico da versão. Por exemplo, o comando a seguir instala o .NET SDK 10:
sudo snap install dotnet-sdk-100 --classicPara .NET 8 e versões anteriores
Instale a partir do
dotnet-sdkpacote e especifique um canal. Se este parâmetro for omitido,latest/stableé usado. Por exemplo, o comando a seguir instala o .NET SDK 8:sudo snap install dotnet-sdk --classic --channel 8.0/stable
O dotnet alias de snap é criado automaticamente e mapeado para o comando do pacote snap dotnet .
A tabela a seguir lista os pacotes snap e os canais que podem ser instalados:
| Versão .NET | Pacote ou canal Snap |
|---|---|
| 10 (LTS) |
dotnet-sdk-100 (pré-visualização) |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk --channel 8.0/stable |
| 7 |
dotnet-sdk --channel 7.0/stable (sem apoio) |
| 6 |
dotnet-sdk --channel 6.0/stable (sem apoio) |
| 5 |
dotnet-sdk --channel 5.0/stable (sem apoio) |
| 3.1 |
dotnet-sdk --channel 3.1/stable (sem apoio) |
| 2.1 |
dotnet-sdk --channel 2.1/stable (sem apoio) |
2. Exporte o local de instalação
A DOTNET_ROOT variável de ambiente é frequentemente usada por ferramentas para determinar onde o .NET está instalado. Quando o .NET é instalado por meio do Snap, essa variável de ambiente não é configurada. Você deve configurar a variável de ambiente DOTNET_ROOT em seu perfil. O caminho para o snap usa o seguinte formato: /snap/{package}/current.
Para .NET 9 e posterior, use o nome do pacote específico da versão:
export DOTNET_ROOT=/snap/dotnet-sdk-100/current
Para .NET 8 e versões anteriores, use o nome do pacote compartilhado:
export DOTNET_ROOT=/snap/dotnet-sdk/current
Exportar a variável de ambiente permanentemente
O comando anterior export define apenas a variável de ambiente para a sessão de terminal em que foi executado.
Você pode editar seu perfil de shell para adicionar permanentemente os comandos. Existem muitos shells diferentes disponíveis para Linux e cada um tem um perfil diferente. Por exemplo:
- Bash Shell: ~/.bash_profile, ~/.bashrc
- Korn Shell: ~/.kshrc ou .profile
- Z Shell: _~/.zshrc* ou .zprofile
Edite o arquivo de origem apropriado para seu shell e adicione o comando export para sua versão .NET instalada. Para .NET 9+, use export DOTNET_ROOT=/snap/dotnet-sdk-100/current (ajuste o número da versão conforme necessário). Para .NET 8 e versões anteriores, use export DOTNET_ROOT=/snap/dotnet-sdk/current.
3. Use a CLI do .NET
Abra um terminal e digite dotnet.
dotnet
A seguinte saída é exibida:
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
path-to-application:
The path to an application .dll file to execute.
Para saber como usar a CLI do .NET, consulte Visão geral da CLI do .NET.
Resolução de Problemas
- O comando dotnet terminal não funciona
- Não é possível instalar o Snap no WSL2
- Não é possível resolver o comando dotnet ou SDK
- Erros de certificado TLS/SSL
O comando dotnet terminal não funciona
Os pacotes de ajuste podem mapear um alias para um comando fornecido pelo pacote. Por padrão, os pacotes de snap do SDK do .NET criam um alias para o dotnet comando. Se o alias não tiver sido criado ou tiver sido removido anteriormente, use o seguinte comando para mapear o alias.
Para .NET 9 e versões posteriores:
sudo snap alias dotnet-sdk-100.dotnet dotnet
Para .NET 8 e versões anteriores:
sudo snap alias dotnet-sdk.dotnet dotnet
Não é possível instalar o Snap no WSL2
systemd deve estar habilitado na instância WSL2 antes que o Snap possa ser instalado.
Abra
/etc/wsl.confem um editor de texto de sua escolha.Cole na seguinte configuração:
[boot] systemd=trueSalve o arquivo e reinicie a instância do WSL2 por meio do PowerShell. Utilize o comando
wsl.exe --shutdown.
Não é possível resolver o comando dotnet ou SDK
É comum que outros aplicativos, como um IDE de código ou uma extensão no Visual Studio Code, tentem resolver o local do SDK do .NET. Normalmente, a descoberta é feita verificando a DOTNET_ROOT variável de ambiente ou descobrindo onde o dotnet executável está localizado. Um SDK do .NET instalado em snap pode confundir esses aplicativos. Quando esses aplicativos não conseguem resolver o SDK do .NET, um erro semelhante a uma das seguintes mensagens é exibido:
- O SDK 'Microsoft.NET.Sdk' especificado não pôde ser encontrado
- Não foi possível encontrar o SDK 'Microsoft.NET.Sdk.Web' especificado
- O SDK 'Microsoft.NET.Sdk.Razor' especificado não pôde ser encontrado
Tente as seguintes etapas para corrigir o problema:
Certifique-se de exportar a
DOTNET_ROOTvariável de ambiente permanentemente.Tente vincular simbolicamente o executável de snap
dotnetao local que o programa está procurando.Dois caminhos comuns que o
dotnetcomando está procurando são:/usr/local/bin/dotnet/usr/share/dotnet
Utilize o comando a seguir para criar um link simbólico para o pacote snap. Para .NET 9 e posterior, use o nome do pacote específico da versão:
ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnetPara .NET 8 e versões anteriores:
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
Erros de certificado TLS/SSL
Quando o .NET é instalado através do Snap, é possível que em algumas distribuições os certificados .NET TLS/SSL não sejam encontrados e você possa receber um erro durante restore:
Processing post-creation actions...
Running 'dotnet restore' on /home/myhome/test/test.csproj...
Restoring packages for /home/myhome/test/test.csproj...
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The SSL connection could not be established, see inner exception. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The remote certificate is invalid according to the validation procedure. [/home/myhome/test/test.csproj]
Para resolver esse problema, defina algumas variáveis de ambiente:
export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null
A localização do certificado varia de acordo com a distribuição. Aqui estão os locais para as distribuições onde o problema foi observado:
| Distribuição | Location |
|---|---|
| Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
| OpenSUSE | /etc/ssl/ca-bundle.pem |
| Solus | /etc/ssl/certs/ca-certificates.crt |