node-gyp проблемы с установкой

Я пытаюсь установить webworker-threads, надстройку узла, для которой требуется gyp. Я следовал инструкциям gyp по настройке, но до сих пор получаю сообщение об ошибке при попытке "rebuild":

C:\Program Files\nodejs\node_modules\webworker-threads>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild
gyp ERR! configure error
gyp ERR! stack Error: spawn ENOENT
gyp ERR! stack at errnoException (child_process.js:980:11)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:771:34)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Program Files\nodejs\node_modules\webworker-threads
gyp ERR! node -v v0.10.8
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok
npm ERR! weird error 1
npm ERR! not ok code 0

У меня 32-битная система Windows 7. Чтобы сэкономить немного времени, вот мой личный контрольный список:

Пути: узел находится как в пользовательском, так и в системном пути. npm находится в пути пользователя. Путь Python тоже задан.

  • Python: 2.7.3 установлен в C:\Python27
  • VisualStudio C++ 2010 И 2012 Express установлены
  • версия узла v0.10.8
  • запускал все с правами администратора
  • Выполненные команды: npm install -g node-gyp
  • npm установить потоки webworker
  • Затем появляется ошибка.

Ребята, вы случайно не заметили, что я что-то делаю не так?

Заранее большое спасибо за ваше руководство!


person Doidel    schedule 30.05.2013    source источник
comment
У меня была такая же проблема в Linux, но я экспортировал переменную LINK=g++, и проблема исчезла.   -  person orezvani    schedule 30.05.2013
comment
экспорт? что значит экспорт?   -  person Doidel    schedule 30.05.2013
comment
в linux есть переменные среды, и когда вы запускаете export LINK=g++, вы сообщаете ОС и всем другим программам, что значение $LINK равно g++. Здесь этот env помогает ОС выбрать g++ вместо gcc, я думаю   -  person orezvani    schedule 30.05.2013
comment
вау, хорошо. Я посмотрю, есть ли эквивалент для Windows :) спасибо уже   -  person Doidel    schedule 30.05.2013
comment
Хорошо, попробовал, к сожалению, без разницы :S Хотя мы очень ценим ваш вклад!   -  person Doidel    schedule 30.05.2013
comment
об ошибке, которую он упомянул: weird error: D   -  person orezvani    schedule 30.05.2013
comment
Вы ранее устанавливали node-gyp?   -  person orezvani    schedule 30.05.2013
comment
да, я заметил ^^ Кстати, я не знал, где разместить свою проблему, она тоже здесь: github.com/rogerwang/node-webkit/issues/754   -  person Doidel    schedule 30.05.2013
comment
Да, конечно. Как еще были бы гип-ошибки в выводе верхней консоли, если гипа не было? ^^   -  person Doidel    schedule 30.05.2013
comment
Я просто хотел знать, пытается ли он установить его прямо здесь или он уже установлен ранее.   -  person orezvani    schedule 30.05.2013
comment
можно и в irc спросить   -  person orezvani    schedule 30.05.2013
comment
ах, сама установка работает гладко. но напр. как только я запускаю configure, он ломается   -  person Doidel    schedule 30.05.2013
comment
Вы можете проверить параметры конфигурации в файле readme или руководстве.   -  person orezvani    schedule 30.05.2013
comment
Думаю, дело не в этом, это что-то глобальное. В 0.10.1 была ошибка со спавном ENOENT... и если вы прокрутите github.com/rogerwang/node-webkit/issues/754 вы видите, что я также безуспешно пробовал приложение hello-world. Сама ошибка указывает на то, что каким-то образом не удается создать дочерний процесс. Для меня эта проблема не выглядит так, как будто она связана с неправильной конфигурацией: S   -  person Doidel    schedule 30.05.2013


Ответы (3)


попробуй npm install –msvs_version=2012. Эта команда попросит NPM использовать для сборки Visual Studio 2012.

http://www.kevgriffin.com/specifying-visual-studio-version-in-npm-installs/

person Darn    schedule 24.07.2013

Потратив некоторое время, чтобы заставить это работать (для меня принятый ответ не сработал, для меня это всего лишь половина решения), я сделал следующее:

  1. К сожалению, у вас должна быть визуальная студия (я установил экспресс-выпуск 2013 для DESKTOP)
  2. Установлен python 2.7.3 (вам не нужно устанавливать какие-либо переменные среды)
  3. Запустите cmd от имени администратора и перейдите в корень проекта (где находится файл package.json)
  4. Первый запуск: npm config set python C:\Python27\python.exe
  5. Затем: npm install -msvs_version=2013

Хитрость заключается в команде npm config set python ...path_to_python_exe..., которая будет предоставлена ​​npm зависимости, которая, я думаю, нуждается в python.

person Srle    schedule 09.12.2014
comment
Работал на меня. Спасибо - person Dario Quintana; 13.03.2015

Установил Windows 7 64 бит.

Сделал все вышеперечисленное, но я все равно получил ошибку, о которой упоминалось.

Что сработало для меня:

  1. Удалите Microsoft .NET Frameworks (у меня есть более одной версии)
  2. Откройте regedit и перейдите по адресу: hkey_local_machine/software/Microsoft/MSBuild.
  3. Удалите все версии .net (у меня есть подкаталоги 2 и 3.5)
  4. Если у вас 64-разрядная ОС, повторите шаги 2 и 3 для %WinDir%\SysWOW64\regedit.exe.
  5. Переустановите Microsoft .NET Framework.

Надеюсь, это сэкономит вам немного времени.

person chenop    schedule 04.05.2014