Я не могу установить ни один из модулей, которые требуют компиляции. Все они терпят неудачу со следующей ошибкой:
MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...
Моя среда:
- Windows 7 Enterprise x64, версия 6.1.7601
- узел x86 0.8.16
- нпм 1.2.0
- узел-гип 0.8.2
- Visual Studio 2012 и множество пакетов
Связанные переменные среды:
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShel l\v1.0;C:\Program Files\TortoiseGit\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\tools;c:\tools\node
Не включайте, LIB, LIBPATH и т.д.
Я провел небольшое исследование проблемы и выяснил, что при следующей настройке ручная компиляция (с непосредственным вызовом VCBuild.exe и msbuild.exe) удалась для клонированного вручную git: //github.com/einaros/ws.git:
SET Configuration=Release
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcpackages
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%
SET PATH=%SystemRoot%\system32;%PATH%
SET INCLUDE=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\include
SET INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%
SET LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Lib
SET LIB=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\lib;%LIB%
SET MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
VCBuild.exe C:\Tools\node\ws\build\bufferutil.vcproj "Release|Win32" /useenv
VCBuild.exe C:\Tools\node\ws\build\validation.vcproj "Release|Win32" /useenv
%MSBUILD% build/binding.sln /verbosity:diagnostic /nologo /p:Configuration=Release;Platform=Win32
Я попытался вызвать node-gyp с теми же переменными, и это не удалось:
C:\!> git clone https://github.com/einaros/ws.git
C:\!> cd ws
C:\!\ws>node-gyp configure
...
C:\!\ws>node-gyp build
gyp info it worked if it ends with ok
gyp info using node-gyp@0.8.2
gyp info using node@0.8.16 | win32 | ia32
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args '/clp:Verbosity=minimal',
gyp info spawn args '/nologo',
gyp info spawn args '/p:Configuration=Release;Platform=Win32' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Users\User\.node-gyp\0.8.16\deps\uv\include\uv.h(55): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory [C:\!\
ws\build\binding.sln]
C:\Users\User\.node-gyp\0.8.16\deps\uv\include\uv.h(55): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory [C:\!\
ws\build\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (c:\Tools\node\node_modules\node-gyp\lib\build.js:255:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "c:\\Tools\\node\\\\node.exe" "c:\\Tools\\node\\node_modules\\node-gyp\\bin\\node-gyp.js" "build"
gyp ERR! cwd C:\!\ws
gyp ERR! node -v v0.8.16
gyp ERR! node-gyp -v v0.8.2
gyp ERR! not ok
Может быть, у вас есть идеи по этому поводу?
Спасибо.
node.js
visual-studio-2012
node-gyp
Алекс Неткачов
источник
источник
vcvarsall.bat
вместо того, чтобы пытаться настроить свою среду вручную?Ответы:
Попробуйте это - установит это глобально:
источник
error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.
Чтобы сделать это без установки VS2010 и только 2012, установите флаг msvs_version:
node-gyp rebuild --msvs_version=2012
npm install <module> --msvs_version=2012
согласно комментарию @Jacob
npm install --msvs_version=2013
если у вас есть версия 2013 годаисточник
npm install
команды получили это работает для меня. Один штрих работал и для меня.Обновление v3: https://www.npmjs.com/package/windows-build-tools
npm install --global windows-build-tools
Обновление v2:
node-gyp обновил свой readme, чтобы включить HOW-TO для windows
Оригинал:
Нет необходимости для всей визуальной студии, вы можете скачать только инструменты сборки
Инструменты Microsoft Build 2013: http://www.microsoft.com/en-us/download/details.aspx?id=40760
Запустите cmd, чтобы установить глобальный флаг для использования версии 2013:
npm config set msvs_version 2013 --global
после этого все должно вернуться к нормальному состоянию, и ваша npm install / node-gyp rebuild будет работать
источник
npm config set msvs_version 2015 --global
которая также работаетnpm config set msvs_version 2015 --global
работпросто добавьте --msvs_version = 2012
или
источник
У меня была такая же проблема при попытке установить пакет для Node.js. После некоторого поиска в Google я нашел это прохождение: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup
Когда я выполнил эти шаги, я мог без проблем использовать «npm install».
источник
Благодаря @felixrieseberg вам просто нужно установить пакет windows-build-tools npm, и все готово .
Вам не нужно устанавливать Visual Studio.
Вам не нужно устанавливать Microsoft Build Tools.
Из репо:
источник
на Windows 8 это работало для меня, используя:
затем
источник
После ДНЕЙ копания кто-то из IRC предложил мне попробовать
Ярлык (ссылки на C: \ Windows \ System32 \ cmd.exe / E: ON / V: ON / T: 0E / K "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd" ). Я думаю, что вы ДОЛЖНЫ иметь более старый 7.1 SDK (даже в Windows 8.1), потому что более новые используют msbuild.exe вместо vcbuild.exe, чего и хочет узел-гип, даже если он на данный момент в два раза старше узла: /
Оказавшись в этом приглашении, я должен был выполнить следующее, чтобы получить контекст x86, потому что компилятор выдавал как ошибку в противном случае об архитектуре:
Тогда я смог успешно запустить команды npm, которые пытались использовать node-gyp для перекомпиляции вещей.
источник
У меня был тот же самый isuee и сделал все волшебство выше, единственное, что сделало волшебство для меня, от https://github.com/atom/atom/issues/2435
«Потому что --msvs_version = 2013 не передается в node-gyp, когда он запускается сценарием сборки. Установите переменную env GYP_MSVS_VERSION = 2013, и она должна работать после».
Взрыв! это сработало
источник
В Windows Это помогло мне: (кредиты идут к) https://github.com/TooTallNate/node-gyp/wiki/Updating-npm%27s-bundled-node-gyp Я попытался Mingw32, но без успеха.
на
cmd.exe
источник
Для Windows 8 64-bit, с установкой zmq и protobuf, у меня сработало следующее: Установите Visual Studio 2012 В командной строке:
источник
Я думаю, что решение заключается в том, чтобы скачать установить Microsoft Windows SDK для сервера 2008 с .net Framework 3.5
или просто установите Visual studio 2008 .
Проблема заключается в том, что для сборок Windows node-gyp выполняет файл vcbuid.exe и по какой-то причине не может его найти.
Спасибо
источник
vcbuild.exe
в вашей переменной средыPATH
vcbuild.exe
получить его здесь https://github.com/kin9puppy/vcbuildFixForNodeисточник
У меня также было много проблем для компиляции nodejs zmq.
Для проблемы с vcbuild.exe, просто добавьте его в PATH
Для других проблем я мог бы скомпилировать просто используя
Windows 7.1 SDK Command Prompt
(Меню Программы -> Microsoft Windows SDK v7.1 -> Командная строка Windows 7.1 SDK)
И из подсказки:
npm install zmq
Это работает :)
источник
После долгой борьбы я переключил архитектуру своего узла на x86, и это сработало как шарм.
источник
в cmd установить путь к Visual Studio в зависимости от вашей версии как
В node-master (оригинальный модуль узла, загруженный из git) запустите vcbuild.bat с правами администратора. vcbild.bat сгенерирует зависимости, связанные с Windows, и добавит имя папки Release в master-узел
После запуска потребуется время, чтобы собрать файлы.
Затем в каталоге, имеющем файл .gyp, используйте команду
это создаст все зависимости.
источник
Я решил эту проблему на Windows 8 и Windows 10 Pro с этим учебником. Я много раз пытался решить эту проблему множеством разных решений, но у меня получалось только с этим: http://www.serverpals.com/blog/building-using-node-gyp-with-visual-studio-express -2015-on-windows-10-pro-x64 Я заметил, что я не использовал nodist для управления версией узла, как этот учебник, я использую NVM и работал нормально, я не тестировал этот учебник с nodist. Я использовал узел 5.2.0.
источник