无法在Ubuntu 10.10上运行mongojs(node-mongodb-native wrapper)

我使用npm install mongojs来获取包装,但是当试图运行我的应用程序时,出现以下错误:

 node.js:195 throw e; // process.nextTick error, or 'error' event on first tick ^ Native bson parser not compiled, please compile or avoid using native_parser=true 

然后我尝试从github获取源代码并编译node-mongodb-native。 然后运行make时出现以下错误:

 make -C ./external-libs/bson make[1]: Entering directory`/tmp/node-mongodb-native/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 /usr/local 'configure' finished successfully (0.069s) Waf: Entering directory `/tmp/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 ../bson.cc:7:25: fatal error: node_events.h: No such file or directory compilation terminated. ../objectid.cc:6:25: fatal error: node_events.h: No such file or directory compilation terminated. ../code.cc:6:25: fatal error: node_events.h: No such file or directory compilation terminated. ../dbref.cc:6:25: fatal error: node_events.h: No such file or directory compilation terminated. ../long.cc:6:25: fatal error: node_events.h: No such file or directory compilation terminated. ../binary.cc:7:25: fatal error: node_events.h: No such file or directory compilation terminated. Waf: Leaving directory `/tmp/node-mongodb-native/external-libs/bson/build' Build failed: -> task failed (err #1): {task: cxx objectid.cc -> objectid_1.o} -> task failed (err#1): {task: cxx bson.cc -> bson_1.o} -> task failed (err #1): {task: cxx code.cc -> code_1.o} -> task failed (err #1): {task: cxx dbref.cc -> dbref_1.o} -> task failed (err #1): {task: cxx long.cc -> long_1.o} -> task failed (err #1): {task: cxx binary.cc -> binary_1.o} make[1]: *** [all] Error 1 make[1]: Leaving directory `/tmp/node-mongodb-native/external-libs/bson' make: *** [build_native] Error 2 

任何想法,为什么这是失败的,我怎么能使它工作?

在事情得到解决之前,你必须使用节点0.5.1(你可以使用gitk将树还原到这个版本)

 Auteur: Ryan Dahl <ry@tinyclouds.org> 2011-07-19 10:46:38 Auteur du commit: Ryan Dahl <ry@tinyclouds.org> 2011-07-19 10:46:38 Parent: 0a3fc1d9c8becc32c63ae736ca2b3719a3d03c5b (Remove StatWatcher's dep on C++ EventEmitter) Enfant: 061ce7b0ac370c8a5ae93d95ab7da171cbd488f0 (net_uv: Fix simple/test-http-expect-continue.js) Branche: master, remotes/origin/master Suit: v0.5.1 Précède: v0.5.2 Finally remove node::EventEmitter 

我想你需要在.bashrc中添加Node到你的PATH中,或者根据你的发行版本来添加这个文件。

看到这个链接: http : //shapeshed.com/journal/setting-up-nodejs-and-npm-on-mac-osx/

没有这样的文件或目录编译终止错误可能意味着你还没有创build一个数据/数据库目录MongoDB使用。

 $ sudo mkdir -p /data/db/ $ sudo chown `id -u` /data/db 

我似乎记得当我尝试使用shell连接到MongoDB时看到类似这样的东西。 你可以用shell连接吗?

Softwarepadawan,请升级到最新版本的Mongjs。 今天下午,我推了一个解决这个问题的提交,并使用JS分析器而不是本地分析器。