首页 文章

无法加载c bson

提问于
浏览
1

我只是试图按照一些教程开始,如果我尝试启动任何带有mongoose引用的脚本,我会继续收到这个 "Failed to load c++ bson extension, using pure JS version" 错误 .

我已经尝试了所有我可以谷歌来修复它,但没有任何工作,包括:

  • 重新安装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();
});

谢谢!

2 回答

  • 0

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

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

    有两种方法可以解决这个问题:将gyp升级到最新版本我在svn source中找到了--no-parallel选项:https://code.google.com/p/gyp/source/browse/trunk/pylib /gyp/init.py破解node_gyp如果你不想升级你的gyp,你可以只注释/ usr / local / lib / node_modules / npm / node_modules / node-gyp / lib / configure.js的第316行

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

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

    sudo apt-get install build-essential
    

    然后重新安装mongodb本机驱动程序

    npm install mongodb
    

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

相关问题