Создание контекста под Windows 7 x64 (для jQuery для NodeJS)
Я пытаюсь получить node -jquery. contextify - одна из зависимостей (требуется для jsdom).
contextify нужно как-то создать Python. Но это не похоже на работу с Windows 7 x64. По крайней мере один мой компьютер:)
После некоторых чтений (# 10, # 12, # 17), и попробовав некоторые двоичные файлы, предоставленные этой вилкой, и этот один, я могу получить он работает...
У меня такая же ошибка от node-gyp configure
или от node-gyp rebuild
(npm install jquery
):
info it worked if it ends with ok
info downloading: http://nodejs.org/dist/v0.6.14/node-v0.6.14.tar.gz
info downloading: http://nodejs.org/dist/v0.6.14/x64/node.lib
info downloading: http://nodejs.org/dist/v0.6.14/node.lib
spawn python [ 'D:\\Users\\ngryman\\.node-gyp\\0.6.14\\tools\\gyp_addon',
'binding.gyp',
'-ID:\\Users\\ngryman\\build\\config.gypi',
'-f',
'msvs',
'-G',
'msvs_version=2010' ]
File "D:\Users\ngryman\.node-gyp\0.6.14\tools\gyp_addon", line 40
print 'Error running GYP'
^
SyntaxError: invalid syntax
ERR! Error: `gyp_addon` failed with exit code: 1
at ChildProcess.onCpExit (D:\Users\ngryman\AppData\Roaming\npm\node_modules
node-gyp\lib\configure.js:226:16)
at ChildProcess.emit (events.js:70:17)
at maybeExit (child_process.js:360:16)
at Process.onexit (child_process.js:396:5)
ERR! not ok
Кажется, есть синтаксическая ошибка... Мне не очень удобно с Python.
Вот мои версии:
- Python: 3.2.3
- NodeJS: 0.6.14
У кого-нибудь есть идея?
Спасибо!
Ответы
Ответ 1
Мне удалось создать его, но я могу сказать, что это было очень больно. На самом деле было так больно, что это вызвало временную амнезию, и я забыл, как я это сделал.
Вам нужна Visual Studio, кроме питона.
Во всяком случае, у меня есть двоичные файлы, я просто загрузил их в gihub:
https://github.com/mihaifm/jsdom_binaries
Просто клонируйте это репо, скопируйте то, что внутри node_modules
, в ваш проект, и вам хорошо идти!
Обновление (март 2013 г.)
Эти двоичные файлы больше не нужны (по крайней мере, не для Win7 с установленным VS2010). jsdom
и contextify
теперь можно установить только с npm
:
npm install jsdom
npm install contextify
(вам все еще нужен питон и компилятор MS С++, как указано в требованиях для node-gyp)
Я также обновил репо, на всякий случай, когда у кого-то еще есть проблемы с установкой.
Ответ 2
Мне удалось успешно построить node -jquery в Windows 7 (x64) с помощью node 0.8.11 (x64) и Python 2.7.3.
Вот как выглядит моя структура jquery:
┬ [email protected]
├── [email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └─┬ [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │ └── [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
в соответствии с автором node -gyp
https://github.com/TooTallNate/node-gyp/issues/155
Ya, Python 3 и Python 2 не совместимы, однако gyp требует Python 2.
Ответ 3
Если вам не нужен полный набор функций Contextify, Cheerio выполняется намного быстрее и гораздо проще для установки в Windows и предоставляет большинство функций jQuery, которые вы использовали бы на стороне сервера.
http://matthewmueller.github.com/cheerio/
Ответ 4
Я построил его с помощью
- Windows 8 x64 DP
- Python 2.7 (на PATH)
- Node 0.8.11 x86 (на PATH)
- Visual Studio 2010 (требуется установленная функция Visual С++)
contextify 0.1.3 binaries (возможно, только для работы с 32-разрядной версией Node) можно найти в моем репозитории GitHub. Они работают вместе с jsdom 0.2.18 (текущая версия на 2012-10-13 годы).
Ответ 5
Из jsdom readme.md:
Окна
- Последняя версия x86-версии [ Node.js для Windows], а не версия x64.
- Копия Visual С++ 2010 Express.
- Копия [Python 2.7], установленная в местоположении по умолчанию
C:\Python27
.
Я сделал именно это, и все получилось отлично, за исключением того, что для меня работала и версия x64.
Ответ 6
Самый простой способ - установить пакет windows-build-tools
. У этого есть все, что вам нужно для создания контекста. Запустите команду из приглашения оболочки питания с правами администратора.
npm install --global --production windows-build-tools
https://www.npmjs.com/package/windows-build-tools
Эти инструменты необходимы для компиляции популярных встроенных модулей. Он также установит Python 2.7, соответствующим образом настроит ваш компьютер и npm.
Содержание
- Компиляторы Visual С++ (таргетинг на x86, X64 и ARM)
- Компиляторы Visual С++ (таргетинг на x86, X64 и ARM)
- Заголовки и библиотеки Visual С++ (CRT и STL)
- Скрипты сборки Visual С++ (таргетинг на рабочий стол Windows)
- Microsoft Build Tools 2015 (MSBuild)
- Windows SDK 8.1 (необязательно, по умолчанию)
- Windows SDK 10 (опционально, отключено по умолчанию)
- ATL и MFC (необязательно, по умолчанию отключено)
- Командные подсказки С++ для встроенных инструментов
Ответ 7
Мне нужно было убедиться, что я использую Python 2.7.3 и запускаю строку cmd как администратор (щелкните правой кнопкой мыши запустите как администратор).
> python --version
Я построил его с помощью
- Windows 7 x64
- Python 2.7.3
- Node 0.8.17
- Visual Studio 10