установка модуля node.js в Windows - node-gyp не может найти задачу vcbuild

Все,

Вероятно, нубский вопрос, но, поскольку я новичок в node.js, я застрял и хожу кругами, поэтому ищу немного подталкивания в правильном направлении (мои навыки - .NET и браузер JS).

Мое первое приложение node.js будет считывать последовательный порт Windows, поэтому я хочу использовать модуль voodootikigod/node-serialport, который кажется лучшим для использования с node.js в Windows. Я следовал инструкциям, чтобы собрать его в Windows, локально клонировав исходный код github и используя node-gyp для настройки и сборки, и это успешно работает без ошибок.

Однако мне нужно установить это в локальный репозиторий npm, чтобы я мог «требовать» его в своем приложении. Я использую новые инструменты Visual Studio Node.js для VS (которые являются отличным способом для .net-разработчика начать работу с node.js), однако включенный менеджер пакетов npm не может установить из локальной папки.

Поэтому, не зная многого о NPM, я предполагаю установить это в локальный репозиторий NPM с помощью следующей командной строки «npm install» из локальной папки github, и он вытягивает все зависимости, но есть встроенный скрипт, который запускает следующую команду "node-gyp ребилд" и вот тут вываливается с ошибкой: MSB4036 задача "VCBuild" не найдена.

Я использую VS 2013 pro, и я думал, что VCbuild был заменен MSbuild некоторое время назад. Итак, похоже, мне нужно отредактировать скрипт, который пытается запустить перестроение node-gyp, но я недостаточно знаю о npm и node-gyp, чтобы разобраться с этим.

Вероятно, это глупая проблема новичка - может ли кто-нибудь указать мне правильное направление? Спасибо.


person deandob    schedule 01.12.2013    source источник
comment
У меня установлен VS2010, проблем нет. Возможно, вам придется попросить кого-нибудь создать это для вас или использовать модуль, для которого не требуется собственный модуль.   -  person Brad    schedule 01.12.2013
comment
Спасибо, Брэд. Правильно ли я поступаю, просто запуская «npm install» из исходного каталога и ожидая, что он сработает? Извините за вопрос новичка   -  person deandob    schedule 01.12.2013
comment
Да Вы. А вообще должно работать. Вы пытались установить старую копию Visual Studio Express? Я видел, что другие успешно используют 2012.   -  person Brad    schedule 01.12.2013
comment
Да, у меня также установлен VS Express (версии 2013 года, поэтому используется msbuild). Что странно, я могу выполнить «перестройку узла-гипа», и он отлично работает из локальной папки github. Кажется, это просто установка npm. Могу ли я вручную скопировать файлы вместо использования npm install? Глядя на код module.js, я вижу, что это может сработать, если я скопирую в каталог node_modules, так как у меня есть готовые файлы в локальной папке github.   -  person deandob    schedule 01.12.2013
comment
Я говорю вам, что ваша версия слишком новая. Попробуйте более старую версию, например 2012 или 2010.   -  person Brad    schedule 01.12.2013
comment
Да, мне нужен был VS2012. Спасибо за указатель.   -  person deandob    schedule 01.12.2013


Ответы (1)


Соблюдены ли все требования для node-gyp в Windows (см. >описание)? Для Windows 7 требуется Python 2.7 и VS 2010, а для Windows 8 требуется VS 2012 C++.

person jrsconfitto    schedule 19.06.2014
comment
У меня было много проблем с созданием нативных модулей в разных моих системах Windows (одна коробка работает под Win7, а другая под Win8.1), и как только я выполнил перечисленные требования, все заработало как часы. - person jrsconfitto; 19.06.2014
comment
Я использую VS2013, и после публикации этого вопроса node-gyp был обновлен для поддержки VS21013, и с тех пор у меня не было проблем. - person deandob; 20.06.2014