0

当我想使用mongo作为中间件访问mongodb时,提示

使用纯JS版本加载c++ bson扩展失败

我正在运行的 evn 如下:

  1. OS X 优胜美地
  2. 节点 v0.10.32
  3. npm 1.4.28
  4. MongoDB 2.6.5
  5. 和尚 0.9.1 你们中有人知道如何解决这个问题吗?
4

1 回答 1

3

答案在找不到模块 '../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');
    }
}

希望这可以帮助

大卫

于 2015-09-27T13:00:27.727 回答