Solucionar problemas de instalação do Bicep

Este artigo descreve como resolver possíveis erros em sua instalação do Bicep.

Erro de runtime do .NET

Ao instalar a extensão Bicep para Visual Studio Code é possível ver as mensagens de erro a seguir:

Failed to install .NET runtime v5.0
Failed to download .NET 5.0.x ....... Error!

Aviso

Essa é uma solução de último recurso que pode causar problemas ao atualizar as versões.

Para resolver o problema, você pode instalar manualmente o .NET do site .NET e depois configurar o Visual Studio Code para reutilizar uma instalação existente do .NET com as seguintes configurações:

Windows

"dotnetAcquisitionExtension.existingDotnetPath": [
  {
    "extensionId": "ms-azuretools.vscode-bicep",
    "path": "C:\\Program Files\\dotnet\\dotnet.exe"
  }
]

macOS

Se você precisar de uma instalação x64, use:

"dotnetAcquisitionExtension.existingDotnetPath": [
  {
    "extensionId": "ms-azuretools.vscode-bicep",
    "path": "/usr/local/share/dotnet/x64/dotnet"
  }
]

Para outras instalações macOS, use:

"dotnetAcquisitionExtension.existingDotnetPath": [
  {
    "extensionId": "ms-azuretools.vscode-bicep",
    "path": "/usr/local/share/dotnet/dotnet"
  }
]

Confira as Configurações de usuário e espaço de trabalho para definir configurações do Visual Studio Code.

Erro do Visual Studio Code

Se você vir a seguinte mensagem de erro pop-up no Visual Studio Code:

The Bicep server crashed 5 times in the last 3 minutes. The server will not be restarted.

No VS Code, abra o modo de exibição Saída no painel na parte inferior da tela e selecione Bicep:

Painel de saída do Visual Studio Code

Se você vir a saída a seguir no painel e estiver usando a CLI do Bicep versão 0.4.1124 ou posterior, verifique se você adicionou a opção de configuração dotnetAcquisitionExtension.existingDotnetPath ao VS Code. Confira Erro de runtime do .NET. Se esta opção de configuração estiver presente, remova-a e reinicie o VS Code.

It was not possible to find any compatible framework version.

Caso contrário, relate um problema no repositório do Bicep e inclua as mensagens de saída.

Diversas versões da CLI do Bicep instaladas

Se você instalar manualmente a CLI do Bicep em mais de um local, poderá notar comportamentos inesperados, como a CLI do Bicep não atualizando ao executar o comando de atualização. Você também pode observar que executar az bicep version retorna uma versão, mas bicep --version retorna uma versão diferente.

Para resolver esse problema, você pode atualizar todos os locais ou selecionar um local para manter e excluir os outros locais.

Primeiro, abra o prompt de comando (não o PowerShell) e execute where bicep. Esse comando retorna os locais das instalações do Bicep. Se você estiver usando a instância da CLI do Bicep gerenciada pela CLI do Azure, não verá essa instalação porque ela não foi adicionada ao PATH. Se where bicep retornar apenas um local, talvez as versões conflitantes que você está vendo estejam entre a instalação manual e a instalação da CLI do Azure.

Para manter todos os locais de instalação, use o mesmo método usado anteriormente para instalar manualmente a CLI do Bicep para todos os locais que você deseja manter. Se você estiver usando a CLI do Azure, execute az bicep upgrade para atualizar essa versão.

Para manter apenas um local de instalação, use as seguintes etapas:

  1. Exclua os arquivos das instalações que você não deseja manter.
  2. Remova esses locais da variável de ambiente PATH.

Se você tiver uma instalação manual e a instância gerenciada pela CLI do Azure, poderá combinar seu uso com uma instância.

  1. Exclua o local de instalação manual.
  2. Adicione o local da CLI do Bicep instalada pela CLI do Azure à variável PATH. Para Windows, o local mantido pela CLI do Azure é %USERPROFILE%\.Azure\bin.

Depois de adicionar a instância da CLI do Azure ao PATH, você poderá usar essa versão com az bicep ou bicep.

Próximas etapas

Para obter mais informações sobre como usar o Visual Studio Code e a extensão do Bicep, consulte Início rápido: criar arquivos Bicep com o Visual Studio Code.