【问题标题】:failed to load c++ bson无法加载 c++ bson
【发布时间】:2014-06-03 07:53:14
【问题描述】:

我是整个 Nodejs、MongoDB、mongoose 世界的新手。我只是想按照一些教程开始,如果我尝试启动任何引用猫鼬的脚本,我会不断收到这个 "Failed to load c++ bson extension, using pure JS version" 错误.

我已经尽我所能用 Google 来修复它,但没有任何效果,包括:

  • 重新安装 build-essentials
  • 重新安装 mongoDB
  • 将 nodejs 降级到 0.10.22
  • 删除 node_modules 目录
  • 清除 npm 缓存

我很茫然。有人可以帮我吗?我只是想回去学习!

我在 Ubuntu 13 服务器上同时运行 nodejs 和 MongoDB。 这是我的简单脚本。

var mongoose = require("mongoose");
mongoose.connect('mongodb://localhost/test');

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
    var UsersSchema = mongoose.Schema({
        name: String
    });
    var User = mongoose.model('User', UsersSchema);
    var user = new User({ name: "SomeName" })
    user.save();
});

谢谢!

【问题讨论】:

标签: node.js mongodb mongoose


【解决方案1】:

如果您使用的是 ubuntu 14.04,则可能与此问题有关:

https://github.com/TooTallNate/node-gyp/issues/426

有两种方法可以解决这个问题:

将 gyp 升级到我在其中找到 --no-parallel 选项的最新版本 svn 来源:https://code.google.com/p/gyp/source/browse/trunk/pylib/gyp/init.py

破解 node_gyp 如果你不想升级你的 gyp,你可以 评论第 316 行 /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js

 argv.push('-Dvisibility=default')
 argv.push('-Dnode_root_dir=' + nodeDir)
 argv.push('-Dmodule_root_dir=' + process.cwd())
 argv.push('--depth=.')
 //argv.push('--no-parallel')

【讨论】:

    【解决方案2】:

    我在初始设置中也遇到了类似的问题,通过重新安装 build-essential 包修复它

    sudo apt-get install build-essential
    

    然后再重新安装mongodb原生驱动

    npm install mongodb
    

    node的当前版本是v0.10.26。尝试升级您的节点版本。

    【讨论】:

    • 哎呀!!你已经试过了,按回车后我就知道了。为什么你不能尝试只安装 bson 包 npm install bson
    猜你喜欢
    • 2014-03-06
    • 1970-01-01
    • 2015-06-17
    • 2015-08-27
    • 2015-08-30
    • 2014-04-05
    • 2014-06-05
    相关资源
    最近更新 更多