2011-06-16 114 views
0

我試圖從make混帳的node-mongodb-native驅動程序,但是當我嘗試並安裝它,我不斷收到此錯誤:無法安裝節點的MongoDB驅動

: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 

我這是我在我的〜/ .bash_profile中NODE_PATH:

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 

我不認爲可能是在兩個位置安裝了節點的最佳路徑b/c,這可能會導致不同的版本,但這不是重點。

有其他人有問題安裝此驅動程序?

回答

0

您正在運行哪個版本的節點?我正在使用v0.5.0-pre,並且我有這個完全相同的錯誤。一旦我降級到v0.4.8它工作。

brew install node 

Or download v0.4.8 here

+0

是的,好像是一個版本問題。我在github上發佈了這個問題,而其他人說他們用v0.5.0-pre安裝了它,這是我的,但是一旦我將我的節點版本恢復到v0.4.8,它就安裝好了(至少我沒有得到任何錯誤) – hellatan 2011-06-18 12:20:54

1

NPM是管理節點相關的軟件包的最佳選擇。如果你已經有npm,你只需運行npm install -g mongodb。它會將節點mongo驅動程序安裝到您的全球node_modules目錄中。 如果您從其官方網站下載並安裝節點,默認情況下會有npm。