Итак, я пытаюсь скомпилировать gyp, и он, по-видимому, хочет вызвать VCBuild.exe...
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe".
To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visua
l Studio 2005 or 3) add the location of the component to the system path if it
is installed elsewhere. [C:\...\node_module
s\browser-sync\node_modules\socket.io\node_modules\engine.io\node_modules\ws\no
de_modules\utf-8-validate\build\binding.sln]
Итак, я устанавливаю .Net Framework с помощью этого, но когда я захожу в строку cmd, я получаю...
'VCBuild.exe' is not recognized as an internal or external command,
operable program or batch file.
Так что же я упускаю? Что мне нужно, чтобы получить VCBuild без Visual Studio?
решение1
npm install -g windows-build-tools
запустил в окне администрирования:
Начинаем установку... Запустил установщики, теперь жду их завершения. Это, вероятно, займет некоторое время — пожалуйста, проявите терпение! Ожидание установщиков... -Успешно установлен Python 2.7 Ожидание установщиков... / Visual Studio Build Tools успешно установлен.
решение2
(Этот ответ взят из комментариев выше от @s.meijer. Но я думаю, что он заслуживает отдельного ответа.)
Запустите choco install vcbuildtools
установку vcbuild
, удовлетворяющую npm
требованиям сборки в Windows.
решение3
Я просто публикую это на всякий случай, вдруг это сэкономит кому-то время.
Я перепробовал все ответы, которые смог найти по этой проблеме, но они не сработали, а именно:
// running powershell as administrator
npm install --global --production windows-build-tools
choco install vcbuildtools
Единственное, что устранило "VCBuild.exe"
ошибки — это установка:
NET Framework 2.0 Software Development Kit (SDK)
Установка была немного странной: я запустил файл, .exe
и, казалось бы, ничего не произошло, но, судя по тому, что сообщения об ошибках установки исчезли, по-видимому, все сработало и было установлено.
решение4
Я получил эту ошибку, когда пытался запустить приложение AngularJs (требующее Node.js 6x) в среде Node.js 12x. Понижение версии Node.js устранило эту ошибку. СОВЕТ: Если вам нужно переключаться между версиями Node, посмотритеhttp://nvm.sh