未能加载c ++ bson
我是新来的整个Nodejs,MongoDB,mongoose的世界。 我只是试图按照一些教程开始,我一直得到这个“无法加载c + + bson扩展,使用纯JS版本”错误,如果我尝试启动任何脚本与引用mongoose。
我已经尝试了一切,我可以谷歌修复它,没有任何工作,包括:
- 重新安装构build要领
- 重新安装mongoDB
- 将nodejs降级到0.10.22
- 删除node_modules目录
- 清理npmcaching
我不知所措 有人可以帮我吗? 我只想回到学习!
我在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(); });
谢谢!
如果您使用的是Ubuntu 14.04,可能与此问题有关:
https://github.com/TooTallNate/node-gyp/issues/426
有两种方法可以解决这个问题:
将gyp升级到最新版本我在svn源代码中find了–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')
我在初始设置中也面临类似的问题,通过重新安装build-essential包来修复它
sudo apt-get install build-essential
然后重新安装mongodb本地驱动程序也
npm install mongodb
当前版本的节点是v0.10.26。 尝试升级您的节点版本。