Невозможно установить node-mongodb-драйвер - PullRequest
0 голосов
/ 16 июня 2011

Я пытаюсь make драйвер node-mongodb-native из git, но когда я пытаюсь установить его, я получаю эту ошибку:

:node-mongodb-native $ make  
make -C ./external-libs/bson  
rm -rf build .lock-wscript bson.node  
node-waf configure 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 /Users/name/local/node  
'configure' finished successfully (0.087s)  
Waf: Entering directory `/Users/name/Sites/git/node-mongodb-native/external-libs/bson/build'  
[1/9] cxx: bson.cc -> build/default/bson_1.o  
[2/9] cxx: long.cc -> build/default/long_1.o  
[3/9] cxx: objectid.cc -> build/default/objectid_1.o  
[4/9] cxx: binary.cc -> build/default/binary_1.o  
[5/9] cxx: code.cc -> build/default/code_1.o  
[6/9] cxx: dbref.cc -> build/default/dbref_1.o  
[7/9] cxx: timestamp.cc -> build/default/timestamp_1.o  
[8/9] cxx: local.cc -> build/default/local_1.o  
[9/9] cxx_link: build/default/bson_1.o build/default/long_1.o build/default/objectid_1.o 
build/default/binary_1.o build/default/code_1.o 
build/default/dbref_1.o build/default/timestamp_1.o 
build/default/local_1.o -> build/default/bson.node  
Waf: Leaving directory `/Users/name/Sites/git/node-mongodb-native/external-libs/bson/build'  
'build' finished successfully (1.935s)  

node.js:183  
        throw e; // process.nextTick error, or 'error' event on first tick  
        ^  
Error: dlopen(/Users/name/Sites/git/node-mongodb-native/external-libs/bson/build/default/bson.node, 1): Symbol not found: _ev_rt_now  
  Referenced from: /Users/name/Sites/git/node-mongodb-native/external-libs/bson/build/default/bson.node  
  Expected in: flat namespace  
 in /Users/name/Sites/git/node-mongodb-native/external-libs/bson/build/default/bson.node  
    at Object..node (module.js:472:11)  
    at Module.load (module.js:339:31)  
    at Function._load (module.js:298:12)  
    at require (module.js:367:19)  
    at Object.<anonymous> (/Users/name/Sites/git/node-mongodb-native/external-libs/bson/test_bson.js:5:10)  
    at Module._compile (module.js:427:26)  
    at Object..js (module.js:466:10)  
    at Module.load (module.js:339:31)  
    at Function._load (module.js:298:12)  
    at Array.<anonymous> (module.js:479:10)  
make[1]: *** [all] Error 1  
make: *** [build_native] Error 2 

(некоторыестроки разбиты для удобства чтения)

Подозрительная часть для меня - это строка:

Checking for node path : not found 

У меня это как NODE_PATH в моем ~ / .bash_profile:

export NODE_PATH=/usr/local/lib/node_modules::/usr/local/lib/node

когда я ls обе эти директории, вот что я получаю:

$ ls /usr/local/lib/node
wafadmin -> ../../Cellar/node/0.4.8/lib/node/wafadmin
$ ls /usr/local/lib/node_modules
npm

Я даже просто попробовал это как мой NODE_PATH:

export NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node:$HOME/local/node/lib/node_modules:$HOME/local/node/lib/node

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

У кого-нибудь еще были проблемы с установкой этого драйвера?

Ответы [ 2 ]

1 голос
/ 08 июня 2014

NPM - лучший выбор для управления пакетами, связанными с узлами. Если у вас уже есть npm, вы просто запускаете npm install -g mongodb. Он установит драйвер узла Монго в ваш глобальный каталог node_modules. Если вы скачаете и установите узел с официального сайта, npm будет установлен по умолчанию.

0 голосов
/ 17 июня 2011

Какую версию узла вы используете? Я использовал v0.5.0-pre и у меня была точно такая же ошибка. Как только я понизился до v0.4.8, это сработало.

brew install node

Или скачать v0.4.8 здесь

...