2013-08-03 4 views
1

Я пытаюсь установить библиотеку джонни пять для Node.js на окна 7, но получаю сообщение об ошибке:Node.js - установка ДЖОННИ пять библиотеки на окнах

Your environment has been set up for using Node.js 0.10.15 (x64) and npm. 

C:\Users\User>npm install johnny-five 
npm http GET https://registry.npmjs.org/johnny-five 
npm http 304 https://registry.npmjs.org/johnny-five 
npm http GET https://registry.npmjs.org/colors 
npm http GET https://registry.npmjs.org/firmata 
npm http GET https://registry.npmjs.org/es6-collections 
npm http GET https://registry.npmjs.org/descriptor 
npm http GET https://registry.npmjs.org/lodash 
npm http GET https://registry.npmjs.org/compulsive 
npm http GET https://registry.npmjs.org/serialport 
npm http GET https://registry.npmjs.org/temporal 
npm http GET https://registry.npmjs.org/async 
npm http GET https://registry.npmjs.org/socket.io 
npm http GET https://registry.npmjs.org/keypress 
npm http GET https://registry.npmjs.org/optimist 
npm http 304 https://registry.npmjs.org/colors 
npm http 304 https://registry.npmjs.org/firmata 
npm http 304 https://registry.npmjs.org/es6-collections 
npm http 304 https://registry.npmjs.org/descriptor 
npm http 304 https://registry.npmjs.org/lodash 
npm http 304 https://registry.npmjs.org/compulsive 
npm http 304 https://registry.npmjs.org/serialport 
npm http 304 https://registry.npmjs.org/temporal 
npm http 304 https://registry.npmjs.org/async 
npm http 304 https://registry.npmjs.org/socket.io 
npm http 304 https://registry.npmjs.org/optimist 
npm http 304 https://registry.npmjs.org/keypress 
npm http GET https://registry.npmjs.org/wordwrap 
npm http GET https://registry.npmjs.org/socket.io-client/0.9.16 
npm http GET https://registry.npmjs.org/base64id/0.1.0 
npm http GET https://registry.npmjs.org/policyfile/0.0.4 
npm http GET https://registry.npmjs.org/redis/0.7.3 
npm http GET https://registry.npmjs.org/bindings/1.1.0 
npm http GET https://registry.npmjs.org/async/0.1.18 
npm http GET https://registry.npmjs.org/sf/0.1.6 
npm http 304 https://registry.npmjs.org/wordwrap 
npm http 304 https://registry.npmjs.org/policyfile/0.0.4 
npm http 304 https://registry.npmjs.org/base64id/0.1.0 
npm http 304 https://registry.npmjs.org/redis/0.7.3 
npm http 304 https://registry.npmjs.org/socket.io-client/0.9.16 
npm http GET https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9. 
16.tgz 
npm http 304 https://registry.npmjs.org/bindings/1.1.0 
npm http 304 https://registry.npmjs.org/async/0.1.18 
npm http 304 https://registry.npmjs.org/sf/0.1.6 

> [email protected] install C:\Users\User\node_modules\johnny-five\node_modules 
\serialport 
> node-gyp rebuild 


C:\Users\User\node_modules\johnny-five\node_modules\serialport>node "C:\Progra 
m Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bi 
n\node-gyp.js" rebuild 
gyp ERR! configure error 
gyp ERR! stack Error: Command failed: ImportError: No module named site 
gyp ERR! stack 
gyp ERR! stack  at ChildProcess.exithandler (child_process.js:637:15) 
gyp ERR! stack  at ChildProcess.EventEmitter.emit (events.js:98:17) 
gyp ERR! stack  at maybeClose (child_process.js:735:16) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (child_process.js:802: 
5) 
gyp ERR! System Windows_NT 6.1.7601 
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu 
les\\node-gyp\\bin\\node-gyp.js" "rebuild" 
gyp ERR! cwd C:\Users\User\node_modules\johnny-five\node_modules\serialport 
gyp ERR! node -v v0.10.15 
gyp ERR! node-gyp -v v0.10.6 
gyp ERR! not ok 
npm ERR! weird error 1 
npm http 200 https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9. 
16.tgz 
npm ERR! not ok code 0 

У меня была такая же проблема на макинтош , но решил это, установив компоненты командной строки xcode, как было предложено в предыдущем посте, но не знаю, как это решить для Windows.

Спасибо за помощь!

ответ

0

Я не уверен насчет конкретной ошибки, но у меня было много разных ошибок узлов лавочка, связанные с НПМ установки на окнах, пока я не удалил все визуальные продукты Студийные и следовали инструкциям по https://github.com/TooTallNate/node-gyp к T. Это включает в себя специально Визуальное Studio 2010 (не в 2012 году, который не сработал), SDK и обновление SDK. После того, как я последовал этим шагам, я прекратил получать ошибки (включая успешную тестовую установку Johnny Five несколько минут назад. Возможно, стоит попробовать, если вы уже не выполнили эти шаги.

1

(это почти то же самое, что и у Оуэна ответ на самом деле, только с добавлением нескольких gotchas, но я не могу комментировать, так что ...)

Я только что получил эту работу в Windows 8, но подозреваю, что она будет применяться и к Win7:

  • чек вы установили питон и включен в переменную окружения PATH - «питон --version "В ЦМД должен возвращать "Python 2.7.5"(3.x не будет работать)
  • Установка Visual Studio Express - http://www.microsoft.com/visualstudio/eng/downloads#d-2012-express
  • Установка Windows SDK - http://msdn.microsoft.com/en-US/windows/desktop/aa904949
  • запомнить, чтобы открыть свежий экземпляр cmd.exe (Я использую nodejs конкретного один, в случае, если это делает разницу) после того, как делать все это, как правило, не подберет изменений окружающей среды

для самого Arduino, не забудьте проверить водитель (http://arduino.cc/en/Guide/windows), и мне пришлось прокормить порт Джонни Пять (https://github.com/rwaldron/johnny-five/blob/master/docs/board-with-port.md).

+0

Для потомков: Я получил сообщения об ошибках в OP (в числе других последующих ошибок) при попытке установить 'topojson' (' npm install -g topojson --msvs_version = 2013'). Я установил Visual Studio Express 2013 и Windows SDK, а также 'npm install -g gyp', но продолжаю получать ошибки, которые начинаются с' gyp ERR! configure error' и 'gyp ERR! stack Ошибка: команда не выполнена: ImportError: нет модуля с именем site'. – jbaums

+0

Оказывается, что 'No module named site ', вероятно, указывает на проблему с путём Python. У меня были переменные системной среды «PYTHONPATH», «PYTHONHOME» и «Path» [установлены соответственно] (http://stackoverflow.com/a/5687052/489704), но, возможно, я должен был использовать 'npm config set python/path/to/executable/python2.7', как описано [здесь] (https://github.com/TooTallNate/node-gyp). Вместо этого я удалил «PYTHONPATH» и «PYTHONHOME» и удалил Python из «Пути», а затем переустановил Python 2.7.6 (моя существующая установка была любезно предоставлена ​​ArcGIS), и эта ошибка теперь обойдена, а другие появились. – jbaums

+0

Мои новые ошибки начинаются с 'gyp ERR! build error' и 'gyp ERR! stack Ошибка: 'C: \ Program Files (x86) \ MSBuild \ 12.0 \ bin \ msbuild.exe' не удалось с кодом выхода: 1'. Я удалил MS Visual Studio Express 2013 и установил MSVS Express 2012, а 'topojson' теперь установлен отлично. – jbaums

1

OK У меня была аналогичная проблема в Windows. Вы должны установить визуальную студию 2012/2010. У меня был установлен Vs2012 Так я побежал команду НПМ с переключателем

npm install johnny-five --msvs_version=2012 

, который решал проблему для меня. В основном SerialPort пакет в Джонни пять необходимости перестроиться для операционной системы, так что необходим пробегу пакет nodegyp, который будет искать MSBuild

0

Убедитесь, что у вас есть все необходимое программное обеспечение для запуска node-gyp:

вы можете настроить версию Visual Studio, используемой gyp через переменную окружения, так что вы можете избежать того, чтобы установить --msvs_version=2012 свойство.

Примеры:

  • набор GYP_MSVS_VERSION=2012 для Visual Studio 2012
  • набор GYP_MSVS_VERSION=2013e ('Е' означает 'экспресс-выпуск')

Для полный список - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Это по-прежнему болезненно для пользователей Windows из NodeJS, поскольку предполагает, что у вас есть копия Python и Visu al Studio, и у многих конечных пользователей этого никогда не будет. Поэтому я лоббирую Joyent, чтобы побудить их включать веб-сокеты как часть узла CORE, а также, возможно, отправить компилятор GNU gcc как часть установки NodeJS, чтобы мы могли надолго исправить эту проблему.

Вы можете добавить свой голос в:

Смежные вопросы