Node -gyp build error windows x64
OK. Вот что я сделал до сих пор на своей ОС x64:
- Установленный Python (v2.7 - специфически 2.7.6) и добавленный в системный путь (C:\Python27)
- Установленная версия MS VS С++ 2010 Express (у меня уже был VS 2012, но без компонента С++)
- Установлено обновление компилятора для Windows SDK 7.1
-
Успешно выполненный node -gyp configure (из моего дополнительного каталога в узле nodejs\node_modules, где находится binding.gyp)
-
run node -gyp build (как администратор) ** Вот что случилось, оставив меня с:
эта ошибка:
C:\Program Files\nodejs\node_modules\msnodesql>node-gyp build
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
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=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
LINK: фатальная ошибка LNK1181: не удается открыть входной файл 'kernel32.lib' [C:\Program Files\nodejs\ node_modules\msnodesql\build\sqlserver.vcxproj]
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:\Users\RNelson\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Users\\RNelson\\AppData\\Roaming\\npm\\node_modules\\node- gyp\\bin\\node-gyp.js" "build"
gyp ERR! cwd C:\Program Files\nodejs\node_modules\msnodesql
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
Любые идеи относительно того, что происходит? Заранее спасибо! Просто попробуйте использовать мой драйвер node -sqlserver MS для Node.js
Ответы
Ответ 1
npm config set msvs_version 2013 --global
работал у меня, поскольку я использую VS node инструменты, и вам не нужно указывать msvs_version каждый раз, когда вы устанавливаете npm.
У меня возникла проблема, когда npm config (c:\Users\username \.npmrc) имеет запись msvs_version = 2012, которая устарела.
Ответ 2
У меня была аналогичная проблема. Я обнаружил, что этот переключатель помог мне
--msvs_version=2012
например,
npm install --msvs_version=2012 <package>
Ответ 3
Проведя некоторое время, чтобы заставить это работать (для меня принятый ответ не сработал, для меня это всего лишь половина решения), я сделал следующее:
-
К сожалению, у вас должна быть визуальная студия (я установил экспресс-версию 2013 года
для DESKTOP)
-
Установленный python 2.7.3 (вам не нужно устанавливать какую-либо среду
переменные)
-
Запустите cmd как администратор и перейдите к корню проекта (где вы
package.json)
-
Первый запуск: npm config set python C:\Python27\python.exe
-
Затем: npm install -msvs_version=2013
Трюк находится в команде npm config set python ...path_to_python_exe...
, которая будет предоставлена npm для зависимости, которая, как мне кажется, нуждается в python. Я не знаю, почему настройка python как переменной env недостаточна.
Ответ 4
Для установки node -gyp в windows или любой другой ОС
Сначала вам может понадобиться загрузить node -gyp на
$ npm install -g node-gyp-install
Затем установите
$ npm install -g node-gyp
вам может потребоваться выполнить описанную выше процедуру как root/administratorartor.
Ответ 5
Если все выше не работало (мой случай - Windows10 64bit)
Удалить C:\Users\имя_пользователя \.node-gyp
Удалить % AppData%/npm
Удалить % AppData%/npm-cache
И снова установите node -gyp
Следуя инструкции node -gyp page
Я выбрал вариант 1 npm install --global --production windows-build-tools
Ответ 6
У меня была такая же ошибка в 2015 году при попытке установить Keystone, и я пробежал все, что вы мне сказали, но это не сработало. В конце я просто должен был запустить команду
"C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\SetEnv.CMD" /Release /x64
чтобы настроить среду перед запуском команды. (Не волнуйтесь, когда он превратит ваш текст в окно зеленым, он работает). Так что да, я бы сделал установки и настроил переменные среды так же, как и везде в Интернете, но обязательно запустите указанную выше команду перед запуском любой другой команды. Это, вероятно, вам не поможет, но, надеюсь, это полезно кому-то другому. Если это все еще не работает, MSVS версии 2010 работал у меня, поэтому установите эту версию и используйте флаг -msvs_version = 2010 при запуске команды npm.
Ответ 7
Для меня решение, которое работало с VS express, состояло в том, чтобы просто установить Visual Studio 2013 Express для рабочего стола (который является единственным, который дает вам командную строку разработчика с версии 2013 года). Откройте командную строку разработчика (повышен) и запустите команды установки NPM. Для этого не требовались специальные аргументы --msvs_version
, они просто работали.
Ответ 8
Я сам столкнулся с этой проблемой, и именно так я решил ее использовать с помощью Visual Studio 2010:
Установить следующие пакеты
Используйте npm install
из командной строки Windows SDK (вам нужно это, потому что он устанавливает дополнительные переменные среды).
Источник: node -gyp инструкции для VS2010
Ответ 9
Для меня (Windows 7 64 бит),
Я боролся с этим вопросом в течение половины дня. Наконец он работал.
На моем пути:
-
На панели управления я удалил все Python, Microsoft Visual Studio, Microsoft Redistributable и кое-что о том, что я установил для решения этой проблемы.
-
Обновление и перезагрузка окна.
-
Установлен Python27 и Visual Studio 2013 без настройки env-val
-
npm install node-gyp -g
- У меня ошибка, но после
npm config set msvs_version 2013 --global
она работает.