当我想使用mongo作为中间件访问mongodb时,提示
使用纯JS版本加载c++ bson扩展失败
我正在运行的 evn 如下:
- OS X 优胜美地
- 节点 v0.10.32
- npm 1.4.28
- MongoDB 2.6.5
- 和尚 0.9.1 你们中有人知道如何解决这个问题吗?
当我想使用mongo作为中间件访问mongodb时,提示
我正在运行的 evn 如下:
答案在找不到模块 '../build/Release/bson'] 代码:'MODULE_NOT_FOUND'} js-bson:无法加载 c++ bson 扩展,使用纯 JS 版本
去和尚 index.js 文件 ( yourProjectDirectory/node_modules/monk/node_modules/mongodb/node_modules/bson/ext/index.js
)
它应该看起来像
try {
// Load the precompiled win32 binary
if(process.platform == "win32" && process.arch == "x64") {
bson = require('./win32/x64/bson');
} else if(process.platform == "win32" && process.arch == "ia32") {
bson = require('./win32/ia32/bson');
} else {
bson = require('../build/Release/bson');
}
} catch(err) {
// Attempt to load the release bson version
try {
bson = require('../build/Release/bson');
} catch (err) {
console.dir(err)
console.error("js-bson: Failed to load c++ bson extension, using pure JS version");
bson = require('../lib/bson/bson');
}
}
将 catch 块更改为
try {
...
} catch(err) {
// Attempt to load the release bson version
try {
bson = require('../browser_build/bson');
} catch (err) {
console.dir(err)
console.error("js-bson: Failed to load c++ bson extension, using pure JS version");
bson = require('../lib/bson/bson');
}
}
希望这可以帮助
大卫