2012-03-24 3 views
12

У меня возникли проблемы, не могли бы вы указать мне в правильном направлении?Как установить Zombie JS на Windows 7? (node.js headless browser)

EDIT: Этот модуль (Contextify) не будет установлен из npm в Windows. См. https://github.com/brianmcd/contextify/issues/10 для получения дополнительной информации.

Это потому, что НПМ не поддерживает модули C++ на Windows, тем не менее: https://github.com/brianmcd/contextify/issues/14#issuecomment-3577972

Вообще-то я хотел бы запустить http://zombie.labnotes.org - для Windows, они предлагают:

В Windows вы будете нуждаться в Cygwin чтобы получить доступ к GCC, Python и т.д. Читать это подробные инструкции по устранению неполадок: https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows)

проблема в том, - они говорят Cygwin описание устарело и предлагает использовать Visual Studio ... В любом случае я получил и то и другое, и я беру свои шансы, используя установщик nodejs, а не строить его с нуля (ошибка, похоже, не связана с ним). И вот шаги, которые я делаю:

1) Установленные Node.js с помощью программы установки: http://nodejs.org/#download

2) Got NPM менеджер пакетов: https://github.com/isaacs/npm

3) Got Python 2.7, Visual Studio 2010 (как некоторые источники сообщили, компилятор C++, как это необходимо) и Cygwin ...

4) поскольку программа установки не в contextify я искал it

Используйте бинарник просто загрузить файл ZIP в https://github.com/Benvie/contextify/zipball/master, распаковать его в папку node_modules, а затем переименуйте папку в «contextify»

c:\Program Files (x86)\nodejs>node --version 
v0.6.13 

c:\Program Files (x86)\nodejs>npm install zombie 
npm http GET https://registry.npmjs.org/zombie 
npm http 304 https://registry.npmjs.org/zombie 
npm http GET https://registry.npmjs.org/ws 
npm http GET https://registry.npmjs.org/jsdom/0.2.10 
npm http GET https://registry.npmjs.org/mime 
npm http GET https://registry.npmjs.org/coffee-script 
npm http 304 https://registry.npmjs.org/ws 
npm http 304 https://registry.npmjs.org/mime 
npm http 304 https://registry.npmjs.org/jsdom/0.2.10 
npm http 304 https://registry.npmjs.org/coffee-script 

> [email protected] preinstall c:\Program Files (x86)\nodejs\node_modules\zombie\node_mo 
dules\ws 
> make 

     1 file(s) copied. 
     1 file(s) copied. 
npm http GET https://registry.npmjs.org/commander/0.5.0 
npm http GET https://registry.npmjs.org/options 
npm http 304 https://registry.npmjs.org/options 
npm http 304 https://registry.npmjs.org/commander/0.5.0 
npm http GET https://registry.npmjs.org/contextify 
npm http GET https://registry.npmjs.org/request 
npm http GET https://registry.npmjs.org/htmlparser 
npm http GET https://registry.npmjs.org/cssom 
npm http 304 https://registry.npmjs.org/contextify 
npm http 304 https://registry.npmjs.org/htmlparser 
npm http 304 https://registry.npmjs.org/request 
npm http 304 https://registry.npmjs.org/cssom 

> [email protected] preinstall c:\Program Files (x86)\nodejs\node_modules\zombie\ 
node_modules\jsdom\node_modules\contextify 
> node-waf clean || (exit 0); node-waf configure build 

node-waf was unexpected at this time. 

npm ERR! Error: ENOENT, chmod 'c:\Program Files (x86)\nodejs\node_modules\zombie 
\node_modules\jsdom\node_modules\request\tests\squid.conf' 
npm ERR! You may report this log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 
npm ERR! 
npm ERR! System Windows_NT 6.1.7600 
npm ERR! command "c:\\Program Files (x86)\\nodejs\\\\node.exe" "c:\\Program File 
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "zombie" 
npm ERR! cwd c:\Program Files (x86)\nodejs 
npm ERR! node -v v0.6.13 
npm ERR! npm -v 1.1.9 
npm ERR! path c:\Program Files (x86)\nodejs\node_modules\zombie\node_modules\jsd 
om\node_modules\request\tests\squid.conf 
npm ERR! fstream_path c:\Program Files (x86)\nodejs\node_modules\zombie\node_mod 
ules\jsdom\node_modules\request\tests\squid.conf 
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter 
npm ERR! fstream_finish_call chmod 
npm ERR! code ENOENT 
npm ERR! message ENOENT, chmod 'c:\Program Files (x86)\nodejs\node_modules\zombi 
e\node_modules\jsdom\node_modules\request\tests\squid.conf' 
npm ERR! errno {} 
npm ERR! fstream_stack Object.oncomplete (c:\Program Files (x86)\nodejs\node_mod 
ules\npm\node_modules\fstream\lib\writer.js:285:17) 

npm ERR! Error: ENOENT, lstat 'c:\Program Files (x86)\nodejs\node_modules\zombie 
\node_modules\jsdom\node_modules\htmlparser\runtests.html' 
npm ERR! You may report this log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 
npm ERR! 
npm ERR! System Windows_NT 6.1.7600 
npm ERR! command "c:\\Program Files (x86)\\nodejs\\\\node.exe" "c:\\Program File 
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "zombie" 
npm ERR! cwd c:\Program Files (x86)\nodejs 
npm ERR! node -v v0.6.13 
npm ERR! npm -v 1.1.9 
npm ERR! path c:\Program Files (x86)\nodejs\node_modules\zombie\node_modules\jsd 
om\node_modules\htmlparser\runtests.html 
npm ERR! fstream_path c:\Program Files (x86)\nodejs\node_modules\zombie\node_mod 
ules\jsdom\node_modules\htmlparser\runtests.html 
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter 
npm ERR! code ENOENT 
npm ERR! message ENOENT, lstat 'c:\Program Files (x86)\nodejs\node_modules\zombi 
e\node_modules\jsdom\node_modules\htmlparser\runtests.html' 
npm ERR! errno {} 
npm ERR! fstream_stack Object.oncomplete (c:\Program Files (x86)\nodejs\node_mod 
ules\npm\node_modules\fstream\lib\writer.js:204:26) 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  c:\Program Files (x86)\nodejs\npm-debug.log 
npm not ok 

c:\Program Files (x86)\nodejs> 

Какие шаги нужно сделать в чтобы сделать его работоспособным?

Если здание nodejs из источников для установки требуется пакет, то пожалуйста, скажите это громко :)

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

ответ

10

Это не дает прямого ответа на ваш вопрос, но это может помочь вам решить вашу проблему, что вы хотели использовать Zombie.js для и могли быть хорошей информацией для других SOers.

На этом этапе с Node v0.6 вы собираетесь сражаться в гору, чтобы заставить Zombie.js работать в Windows. Узел v0.8 сделает это немного лучше с коммутатором от node-waf до node-gyp.

Однако, если вы хотите настоящую безмозглую среду браузера, вы можете взглянуть на PhantomJS и CasperJS (структура тестирования для PhantomJS). Это не модуль узла, но он работает очень хорошо и является настоящим безголовым браузером, в отличие от Zombie.js, который является эмуляцией рода. PhantomJS хорошо работает в Windows.

Надеюсь, это может помочь в тестировании/очистке вашего сайта для Windows.

+0

Что делать, если мне нужно поддерживать куки? http://stackoverflow.com/questions/9504765/does-phantomjs-support-cookies (тогда я буду запускать Ubuntu) –

+0

Он отлично работает с Cookies. Просто скрипты PhantomJS не могут получить доступ к файлам cookie. т. е. любая веб-страница, которую вы открываете в PhantomJS, отлично работает с файлами cookie, а не с вашими скриптами PhantomJS. –

+0

Хорошо, попробуем. Меня беспокоило, что я даже не могу принять cookie: http://code.google.com/p/phantomjs/issues/detail?id=91 Спасибо за помощь! –

9

У меня есть zombiejs, успешно работающий на окне окна. Мне не нужно было использовать cygwin.

У меня есть следующие версии на моей коробке:

  • Узел 0.8.17
  • Python 2.7.3
  • Visual Studio 2010

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

npm install zombie

+1

_Visual Studio 2010_ был для меня ключом! По какой-то причине Visual Studio 2012 не работает. – Ilya

+1

Python 2.7 + VS2012 сделал эту работу для меня. Немного странное. –

+0

То же, что и Эд Вудкок выше, отлично поработал для меня с Python 2.7.3. Удачи всем. – larryq

1

Если у вас есть Visual Studio 2013 (вместо Visual Studio 2010) добавить следующие строки в команде НПМ:

--msvs_version = 2013