node-gyp - MSB3428: Não foi possível carregar componente “VCBuild.exe” / MSB4132
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).
- [ 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
- [ 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 caminhosC:\<onde_voce_instalou>\Python27\
eC:\<onde_voce_instalou>\Python27\Scripts
.
- Se você instalou sem selecionar a opção acima, também funciona se você adicionar manualmente ao seu
- 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.
Deixe um comentário