Instalar o SDK do .NET ou o Runtime do .NET no Alpine

Importante

O .NET 8 foi lançado em 14 de novembro de 2023. Os pacotes podem levar algum tempo para serem exibidos nos feeds do gerenciador de pacotes.

O .NET tem suporte no Alpine e este artigo descreve como instalar o .NET no Alpine. Quando uma versão do Alpine ficar sem suporte, não haverá mais suporte dessa versão no .NET.

Se você estiver usando o Docker, considere usar imagens oficiais do Docker para .NET em vez de instalar o .NET por conta própria.

Instale o SDK (que inclui o runtime) se quiser desenvolver aplicativos .NET. Ou, se você precisar apenas executar aplicativos, instale o runtime. Se você estiver instalando o runtime, sugerimos que você instale o Runtime do ASP.NET Core, pois ele inclui runtimes do .NET e do ASP.NET Core.

Use os comandos dotnet --list-sdks e dotnet --list-runtimes para ver quais versões estão instaladas. Para obter mais informações, confira Como verificar se o .NET já está instalado.

O gerenciador de pacotes alpine dá suporte à instalação de algumas versões do .NET. Se o pacote .NET não estiver disponível, você precisará instalar o .NET de uma das seguintes maneiras alternativas:

Instalar o .NET 8

O .NET 8 ainda não está disponível no branch padrão do repositório de pacotes Alpine. Use o branch edge para instalar o .NET 8. Use uma das seguintes abordagens para instalar o .NET 8:

Instalar o .NET 7

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute o seguinte comando:

sudo apk add dotnet7-sdk

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. No terminal, execute o seguinte comando:

sudo apk add aspnetcore7-runtime

Como alternativa ao runtime do ASP.NET Core, você pode instalar o runtime do .NET, que não inclui suporte ao ASP.NET Core: substitua aspnetcore7-runtime no comando anterior por dotnet7-runtime:

sudo apk add dotnet7-runtime

Instalar o .NET 6

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute o seguinte comando:

sudo apk add dotnet6-sdk

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. No terminal, execute o seguinte comando:

sudo apk add aspnetcore6-runtime

Como alternativa ao runtime do ASP.NET Core, você pode instalar o runtime do .NET, que não inclui suporte ao ASP.NET Core. Para instalá-lo, substitua aspnetcore6-runtime no comando anterior por dotnet6-runtime:

sudo apk add dotnet6-runtime

Distribuições com suporte

A tabela a seguir é uma lista de versões .NET atualmente com suporte e as versões do Alpine nas quais elas têm suporte. Essas versões permanecerão com suporte até que a versão do .NET atinja o fim do suporte ou a versão do Alpine atinja o fim da vida útil.

Alpine Versão compatível Disponível no Gerenciador de Pacotes
3,19 .NET 8.0, .NET 7.0, .NET 6.0 .NET 7.0, .NET 6.0
3,18 .NET 8.0, .NET 7.0, .NET 6.0 .NET 7.0, .NET 6.0
3,17 .NET 8.0, .NET 7.0, .NET 6.0 .NET 7.0, .NET 6.0
3.16 .NET 7.0, .NET 6.0 .NET 6.0
3,15 .NET 7.0, .NET 6.0 Nenhum

Não ❌ há mais suporte para as seguintes versões do .NET:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Arquiteturas com suporte

A tabela a seguir é uma lista de versões do .NET atualmente compatíveis e a arquitetura do Alpine em que elas têm suporte. Essas versões permanecem compatíveis até que a versão do .NET atinja o fim do suporte ou a arquitetura do Alpine seja compatível#. Observe que somente x86_64, armv7 e aarch64 são compatíveis oficialmente com a Microsoft. Outras arquiteturas são compatíveis pelos mantenedores da distribuição e podem ser instaladas usando o gerenciador de pacotes apk.

Arquitetura .NET 6 .NET 7 .NET 8
x86_64 3.16, 3.17, 3.18 3.17, 3.18 3.17, 3.18
x86 Nenhum Nenhum Nenhum
aarch64 3.16, 3.17, 3.18 3.17, 3.18 3.17, 3.18
armv7 3.16, 3.17, 3.18 3.17, 3.18 3.17, 3.18
armhf Nenhum Nenhum Nenhum
s390x 3,17 3,17 3,17
ppc64le Nenhum Nenhum Nenhum
riscv64 Nenhum Nenhum Nenhum

Instalar versões prévias

As versões prévias e Release Candidate do .NET não estão disponíveis em repositórios de pacotes. É possível instalar versões prévias e Release Candidate do .NET das seguintes maneiras:

Remover versões prévias

Ao usar um gerenciador de pacotes para gerenciar a instalação do .NET, pode ocorrer um conflito quando já existe uma versão prévia instalada. O gerenciador de pacotes pode interpretar a versão que não é prévia como uma versão anterior do .NET. Para instalar a versão que não é prévia, desinstale as versões prévias. Para obter mais informações de como desinstalar o .NET, confira Como remover o SDK e o runtime do .NET.

Dependências

Quando você faz a instalação com um gerenciador de pacotes, essas bibliotecas são instaladas automaticamente. Porém, se você instalar o .NET manualmente ou publicar um aplicativo autossuficiente, será necessário verificar se estas bibliotecas estão instaladas:

3.18+

  • ca-certificates-bundle
  • libgcc
  • libssl3
  • libstdc++
  • zlib
  • libgdiplus (se o aplicativo .NET exigir o assembly System.Drawing.Common)

3.15 – 3.17

  • icu-libs
  • krb5-libs
  • libgcc
  • libintl
  • libssl3
  • libstdc++
  • zlib
  • libgdiplus (se o aplicativo .NET exigir o assembly System.Drawing.Common)

Use o comando apk add para instalar as dependências.

Se o aplicativo .NET usar o assembly System.Drawing.Common, o libgdiplus também precisará ser instalado. Como System.Drawing.Common não tem mais suporte no Linux, isso só funciona no .NET 6 e requer a definição da alternância de configuração de runtime System.Drawing.EnableUnixSupport.

Para instalar libgdiplus, execute:

apk add libgdiplus

Próximas etapas