本地 Node.js 脚本未连接到 mongoDB 数据库

Local Node.js script not connecting to mongoDB database

我通过 Heroku 设置了一个 MongoLab MongoDB 数据库,并且能够通过发出以下命令在 shell 中连接到它:

mongo ds061701.mongolab.com:61701/heroku_app35721468 -u <dbuser> -p <dbpassword>

我正在使用 Node.js 和 Express,并在 script.js 文件中编写了以下代码,该文件与包含 mongoose 的 node_modules 文件夹位于同一目录中。

var mongoose = require('mongoose');
mongoose.connect('mongodb://<dbuser>:<dbpassword>@ds061701.mongolab.com:61701/heroku_app35721468');
var db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error: '));

db.once('open', function(){
    console.log('db connected');
});

在终端中导航到此脚本的目录并键入 node script.js 时,我收到以下错误消息:

dyld: lazy symbol binding failed: Symbol not found: _node_module_register
Referenced from: /Users/Jack/Documents/node-express-101/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/node_modules/bson/build/Release/bson.node
Expected in: dynamic lookup

dyld: Symbol not found: _node_module_register
Referenced from: /Users/Jack/Documents/node-express-101/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/node_modules/bson/build/Release/bson.node
Expected in: dynamic lookup

Trace/BPT trap: 5

我在这里做错了什么以及如何使用 mongoose 连接到托管在 MongoLab 上的 MongoDB 数据库?

当您使用 Node 0.12 安装模块(需要编译),但随后尝试 运行 使用较旧的 Node 版本(如 0.10)的模块时,将抛出该错误。

参考:解决办法是原来的依赖安装没有成功完成。重装解决了。