c++ bson扩展加载失败,使用mongodb访问mongodb时使用纯js版本
Posted
技术标签:
【中文标题】c++ bson扩展加载失败,使用mongodb访问mongodb时使用纯js版本【英文标题】:Failed to load c++ bson extension, using pure JS version when using monk to access Mongodb 【发布时间】:2015-01-24 06:18:25 【问题描述】:当我想使用monk作为中间件访问mongodb时,提示
使用纯JS版本加载c++ bson扩展失败
我正在运行的 evn 如下:
-
OS X 优胜美地
节点 v0.10.32
npm 1.4.28
MongoDB 2.6.5
和尚 0.9.1
有谁知道如何解决这个问题?
【问题讨论】:
是不是有些东西真的不起作用,还是你只是关心这个消息? 可能是因为安装时 make 工具不可用。尝试查看http://***.com/questions/21656420/failed-to-load-c-bson-extension中的解决方案 【参考方案1】:答案在Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' js-bson: Failed to load c++ bson extension, using pure JS version
去和尚 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');
希望对你有帮助
大卫
【讨论】:
以上是关于c++ bson扩展加载失败,使用mongodb访问mongodb时使用纯js版本的主要内容,如果未能解决你的问题,请参考以下文章
使用 Mongodb 和 Node.js 无法加载 c++ bson 扩展错误
运行 mongodb-backed node app 时无法加载 C++ bson 扩展,使用纯 JS 版本错误