Я работаю над упаковкой приложения для узла, которое будет развернуто на сервере без npm.Я думаю, что я понял это - я использовал npm, чтобы установить все зависимости в локальной папке node_modules в соответствии с файлом package.json.
Кажется, все работает хорошо, но когда я пытаюсь запустить узелфайл с сервера, он жалуется, что он Cannot find module '../build/Release/contextify'
.
Это имеет смысл, потому что в node_modules/.npm/contextify/0.0.4/package/lib/contextify.js
он запрашивает файл, о котором идет речь, а node_modules/.npm/contextify/0.0.4/package/build
не имеет каталога с именем Release
.Я предположил, что npm просто не собрал релиз, поэтому я переключился на машину разработчика и запустил npm install
- он не жаловался, и, похоже, он собирал contextify:
$ sudo npm install
> contextify@0.0.4 preinstall /path/to/node/stuff/node_modules/contextify
> node-waf clean || true; node-waf configure build
'clean' finished successfully (0.014s)
Setting srcdir to : /path/to/node/stuff/node_modules/.npm/contextify/0.0.4/package
Setting blddir to : /path/to/node/stuff/node_modules/.npm/contextify/0.0.4/package/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/Cellar/node/0.4.5
'configure' finished successfully (0.043s)
Waf: Entering directory `/path/to/node/stuff/node_modules/.npm/contextify/0.0.4/package/build'
[1/2] cxx: src/contextify.cc -> build/default/src/contextify_1.o
[2/2] cxx_link: build/default/src/contextify_1.o -> build/default/contextify.node
Waf: Leaving directory `/path/to/node/stuff/node_modules/.npm/contextify/0.0.4/package/build'
'build' finished successfully (0.370s)
к сожалению, каталог package/build
по-прежнему не имеет папки Release
.
Итак, я предполагаю, что вопрос заключается в том, не удается ли построить contextify, потому что путь к моему узлу не задан (я попытался export NODE_PATH
, но, похоже, это не помогло ...) или, если есть какая-то другая причина, по которой, по-видимому, созидание не создается,
Может быть, мне не хватает чего-то большего?