Подтвердить что ты не робот

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

4b9b3361

Ответ 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 она работает.