node-gyp - MSB3428: Não foi possível carregar componente “VCBuild.exe” / MSB4132

4 minutos de leitura

Ao executar, no Windows, o npm install de alguma dependência que você baixou, a mensagem de erro relativa ao node-gyp aparece:

C:...>node “C:\Program Files\nodejs\node_modules\npm\ bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js” rebuild Compilando os projetos desta solução um de cada vez. Para habilitar a compilação paralela, adicione a opção “/m”.

MSBUILD : error MSB3428: Não foi possível carregar componente “VCBuild.exe” do Visual C++. Para corrigir isso, 1) instale o .NET Framework 2.0 SDK, 2) instale o Microsoft Visual Studio 2005 ou 3) adicione o local do componente ao caminho do sistema se ele estiver instalado em outro local.

Outra possibilidade de mensagem de erro (a depender da sua configuração):

MSBUILD : error MSB4132: A versão das ferramentas “2.0” não é reconhecida. As versões de ferramentas disponíveis são “4.0”.

Problema

Esse erro acontece porque o node-gyp precisa de um Python (v2.7) e um compilador C/C++ específicos instalados. A solução, portanto, é instalar essas ferramentas.


Solução

Os passos de configuração são os seguintes:

Instale o Visual C++ Built Tools

  • Baixe o VC++ Build Tools: o link era este, mas, se não estiver funcionando, tente este ou este.
  • Na instalação, selecione o tipo de instalação Default e siga (demora um pouco, ele vai baixar tudo durante a instalação).
    microsoft-visual-cpp-build-tools-install-default
  • [ :bulb: Importante: se, e somente se, você estiver no Windows 7, instale antes também o .NET Framework 4.5.1]

Instale o Python 2.7

  • Baixe e instale o Python 2.7 e o adicione ao PATH
    • [:warning: Aviso: Não instale o Python 3.x, não vai funcionar! Tem que ser 2.7.x!]
    • Para adicionar ao seu PATH, selecione, durante a instalação, a opção “add to PATH” (que não é selecionada por padrão e fica meio escondida)
      • Se você instalou sem selecionar a opção acima, também funciona se você adicionar manualmente ao seu PATH os caminhos C:\<onde_voce_instalou>\Python27\ e C:\<onde_voce_instalou>\Python27\Scripts.
  • Configure o NPM: npm config set python python2.7

Configure o NPM

Execute, no cmd:

  • npm config set msvs_version 2015 --global
  • Alternativamente, ao invés do comando acima, você pode usar npm install [package name] --msvs_version=2015 para cada pacote que você vá instalar.

E é isso. Agora é só mandar brasa nos npm install e no node-gyp.

Fontes: node-gyp


PS.: Se depois disso tudo você receber algumas mensagens durante npm install como:

prebuild ERR! configure error

prebuild ERR! stack Error: Can’t find Python executable “python2.7”, you can set the PYTHON env variable.

Então execute:

npm config set python "C:\\Programs\\Python2.7\\python2.7.exe"

Mudando o caminho para onde quer que seu Python 2.7 foi instalado.


Se você obteve:

error MSB4132: The tools version “2.0” is unrecognized. Available tools versions are “14.0”, “4.0”.

Você provavelmente esqueceu de configurar o NPM. Execute:

npm config set msvs_version 2015 --global

ou veja a explicação acima.

Update: Novidade

Se nada acima funcionar, recentemente o pessoal do node-gyp deu uma outra alternativa:

“Instalar todas as ferramentas e configurações necessárias usando Microsoft’s windows-build-tools via:

npm install --global --production windows-build-tools

a partir de um PowerShell ou CMD.exe executado como Administrador.

Tags: ,

Categorias:

Atualização:

Deixe um comentário