2012-04-02 2 views
12

Я установил nodejs на моем компьютере Windows. И он работал нормально. Но когда я попытался установить jsdom, используя «npm install jsdom», я был помечен этой ошибкой.npm установить ошибку jsdom в windows?

node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild info it worked if it ends with ok
ERR! Error: Python does not seem to be installed
at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:78:14) at Object.oncomplete (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:66:11) ERR! not ok
npm WARN optional dependency failed, continuing [email protected]
[email protected] ./node_modules/jsdom
+-- [email protected] +-- [email protected]

Может ли кто-нибудь помочь мне в решении этой проблемы?

+0

Ошибка: Python, похоже, не установлен, кажется, вам нужно установить python – stewe

+0

Да, но после того, как я получил ошибку, я загрузил и установил pythong с python.org, однако ошибка все еще появляется .. thanks – Jrubins

+0

@stewe Нужно ли быть конкретной версией Python? Должен ли он быть Python 2 или Python 3? Я все еще пытаюсь понять это. –

ответ

14

Я была такая же проблема на Windows 7 (x64 Максимальная), после нескольких часов поисков и испытаний, вот как я решил его. Пожалуйста, следуйте инструкциям, приведенным в том же точном порядке:

  1. Установка Visual Studio 2010/2012 C++ (Экспресс или выше)
  2. Установка Windows SDK 7.1
  3. Установка «Microsoft Visual C++ 2010 с пакетом обновления 1 Compiler Обновление винда SDK 7.1"
  4. Установите GTK (C: \ GTK)
  5. Установить Python (C: \ python27)
  6. Установка Node.js (x86)
  7. Добавить [Node.js] в год th (C: \ Program Files (x86) \ nodejs \;)
  8. Добавить [python] в путь (C: \ Python27 \;)
  9. Добавьте [GTK] в путь (C: \ GTK \ bin;)
  10. Добавить системную переменную [WindowsSDKDir], указывающую на «C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin»
  11. Запустите «Windows SDK 7.1 Командная строка»в качестве администратора
  12. Установка среды для x86 с помощью "SETENV/x86"
  13. Изменить директорию на "C: \ Program Files (x86) \ nodejs \"
  14. Run "NPM установить -g НПМ"
  15. Run "НОГО Update -g НПЙ"
  16. Run "NPM установить -g узел-лавочку"
  17. Run "узел-Gyp Параметры сборки"
  18. Run "НОЙ установку jsdom"
  19. Выполнить «НАЯ установку ajax "
  20. Run "NPM установить HTTP-сервер"
  21. Run "NPM установить JQuery"
  22. Выполнить "NPM установить XMLHttpRequest"
  23. Run "обновление НПМ"

Я надеюсь, что это помогает.

+0

Работает для меня, хотя я не устанавливал GTK. Большое спасибо за этот отличный ответ. –

+0

Это сработало и для меня. Здесь нет GTK. Тем не менее, пара мешает мне. Чтобы установить Windows SDK 7.1, я должен был удалить все распространяемые компоненты Visual Studio 2010. Кроме того, мне пришлось запустить 'node-gyp rebuild -msvs_version = 2012'. Благодаря! – meub

+0

Мне пришлось добавить C: \ Program Files \ Microsoft SDK \ Windows \ v7.1 \ Bin в PATH, так что setenv works – setec

1

jsdom имеет зависимость от контекста, которая только недавно поддерживает окна. Вам понадобится python и компилятор C++ для его установки.

Вам также может понадобиться сделать следующее

npm install -g node-gyp 
node-gyp configure 
+0

У меня есть cygwin и Mingw, установленные с компиляторами C++, я также устанавливаю python из python.org после того, как получил эту ошибку, но ошибка все еще остается. – Jrubins

0

Если у вас есть питон уже установлен, то вам нужно будет добавить питон каталог установки в PATH переменной в среды.

Предполагая, что python.exe находится в каталоге C:\Python32\, на DOS подскажут вам нужно набрать:

set PATH=%PATH%;C:\Python32\;

, а затем:

node-gyp configure

должен работать нормально без это ошибка.

1

для Windows 8 64-битных, установка zmq и Protobuf, следующие работал для меня:

Во-первых, установка Visual Studio 2012

Затем в командной строке (в директории проекта):

SET VisualStudioVersion=11.0 
npm install zmq 
npm install protobuf 
npm install jsdom 
+0

Это сработало для меня, но я подозреваю, что не у всех будет установлен Visual Studio 2012. –

1

jsdom использует contextify для запуска JavaScript на DOM. А для contextify требуется собственный компилятор C++. По the official readme, на платформе Windows, один должен установить:

  1. Недавняя копию на x86-версии Node.js для Windows, а не 64-разрядной версии. (должно быть хорошо по умолчанию)
  2. Копия Visual C++ 2010 Express. (или любой более новой версии)
  3. Копия Python 2.7, установленная в местоположении по умолчанию C:\Python27.
0

После почти полгода решения этой проблемы, прочитав все связанные с этим форумы, я наконец нашел решение.

Что я делал, было просто в моем случае, потому что я не использую много приложений на этом компьютере.

У меня в Windows 8.1 установлено много программ, которые, вероятно, смутили NodeJS (Frameworks, VS addons и т. Д.).

Так что я просто сделал это:

  • Удалены все программы из MS, что я установил один раз.
  • Uninstalled Nodejs
  • Конечно, я почистил реестр с CCleaner
  • Удалены Python, Node-плут и другие приложения, связанные с Node.js

Тогда я переустановил узел.js с оптимизмом для JSdom, который установлен правильно, но разбился при запуске моего проекта. Поэтому я искал новую ошибку, которая - снова - имеет простое решение. Мне пришлось установить более старую версию JSdom.

npm install js[email protected] 

И наконец, все работает. Надеюсь, что это поможет кому-нибудь с этой проблемой.