Обновление - см. Внизу поста
Я пытаюсь настроить jquery в node.js и у меня возникли некоторые проблемы. Как описано в SO 1005 *, я устанавливаю jquery с npm install jquery
и выполняю свой javascript в виде сценария из командной строки, а не запускаю его как сервер.
Несколько замечаний:
- OS X 10.7.3
- node.js версия 0.6.11
- npm версия 1.1.1
- node-waf версия 1.5.16
Итак, из каталога, в котором содержится скрипт моего узла, я npm install jquery
. Затем терминал отключается на 5 секунд и делает несколько вещей, в частности, загружает модули и собирает их. В конце сообщение: 'build' finished successfully
.
Также из журнала установки вижу:
- htmlparser 1.7.4
- jsdom 0.2.10
Я пытаюсь запустить свой скрипт на этом этапе: ./script.js
, но это вывод:
Internal Contextify ERROR: Make sure Contextify is build with your current Node version.
To rebuild, go to the Contextify root folder and run 'node-waf distclean && node-waf configure build'.
Итак, я делаю следующее:
$ cd node_modules/jquery/node_modules/jsdom/node_modules/contextify/
$ node-waf distclean && node-waf configure build
'distclean' finished successfully (0.002s)
Setting srcdir to: /proj/node_modules/jquery/node_modules/jsdom/node_modules/contextify
Setting blddir to: /proj/node_modules/jquery/node_modules/jsdom/node_modules/contextify/build
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for node path : not found
Checking for node prefix : ok /usr/local
'configure' finished successfully (0.729s)
Waf: Entering directory `/proj/node_modules/jquery/node_modules/jsdom/node_modules/contextify/build'
[1/2] cxx: src/contextify.cc -> build/Release/src/contextify_1.o
[2/2] cxx_link: build/Release/src/contextify_1.o -> build/Release/contextify.node
Waf: Leaving directory `/proj/node_modules/jquery/node_modules/jsdom/node_modules/contextify/build'
'build' finished successfully (3.335s)
Тем не менее, я все еще получаю Internal Contextify ERROR
, когда я запускаю свой скрипт. Ниже приведено полное сообщение об ошибке:
Internal Contextify ERROR: Make sure Contextify is built with your current Node version.
To rebuild, go to the Contextify root folder and run 'node-waf distclean && node-waf configure build'.
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Unable to load shared library /proj/node_modules/jquery/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node
at Object..node (module.js:472:11)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object.<anonymous>(/proj/node_modules/jquery/node_modules/jsdom/node_modules/contextify/lib/contextify.js:2:22)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
Мне кажется странным, что not found
является выводом Checking for node path
при компиляции, но я не знаю, что с этим делать, кроме того, что это неожиданно для меня.
Если кто-нибудь может предложить какие-либо предложения, я был бы очень признателен!
Обновление - 2/21/12
После еще одного исследования я смог исправить странность пути узла, который не был найден. После выполнения: export NODE_PATH="/usr/local/lib/node"
в терминале, путь узла находится в процессе сборки. Однако после удаления модуля jquery и повторной установки / сборки я все еще нахожусь в той же ситуации.
Файл contextify.node существует в указанном каталоге выпуска, но все еще не может быть загружен моим сценарием.