从节点访问mongodb时出错:无法使用纯JS版本加载c ++ bson扩展

时间:2016-01-22 13:20:12

标签: node.js mongodb

刚刚安装了Mongo,mongodb驱动程序和节点。 Ubuntu 14.04上所有当前稳定版本

mongo --version
MongoDB shell version: 3.2.1
node --version
v5.2.0

我对koa / mongo / node很新,所以我克隆了一些github repos,但是当我运行代码时,我总是遇到这个错误:

{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version

stackoverflow上的类似错误适用于旧版本,并且在我的情况下有不清楚的解决方案或不工作。

工作流程如何?这个扩展名是什么?

我尝试重新安装build-essential和node-gyp,但不知道原因。如果项目是"旧"可能与僧侣或猫鼬版本有关?

2 个答案:

答案 0 :(得分:0)

您可能缺少系统上的一些构建工具。 在这种情况下,mongo驱动程序将回退使用bson解析器的Javascript版本,这对开发很好,但可能不在生产中。

答案 1 :(得分:0)

以下是解决方案:

cp ProjectDirectory/node_modules/monk/node_modules/mongodb/node_modules/bson/browser_build/bson.js ProjectDirectory/node_modules/monk/node_modules/mongodb/node_modules/bson/build/Release

我认为你也可以使用移动,我从未尝试过。 错误消息告诉您“./build/Release文件夹”中缺少bson.js,因此您只需将文件放在正确的位置