在Windows 7上使用mongodb3.0,节点0.12.0,npm 2.5.1整数,我正在尝试读取数据到我的数据库中,但我在npm intsall中有这个错误!
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
我试图替换
bson = require('../build/Release/bson');
进入
bson = require('../browser_build/bson');
但我有这样的错误:
exports.BSON.BSON_BINARY_SUBTYPE_DEFAULT = 0 TypeError: Cannot set property 'BSON_BINARY_SUBTYPE_DEFAULT' of undefined
我正在使用和尚,anfd我已经运行了npm mongodb,npm monk
答案 0 :(得分:6)
问题: Mongo-DB,Socket.io等模块需要node-gyp来编译Kim也讨论过的C / C ++代码。 MSVC ++仅适用于32位操作系统, NOW 这是真正的问题,因为如果您使用64位版本安装node.js和Python 2.7.3等其他要求,然后你就像我一样面对问题。
请按照以下步骤操作:
安装时可能会发现一些错误,但不要惊慌失措。尝试运行您的应用程序,它将正常工作。
注意:此解决方案特定于平台,即适用于MS Windows。
答案 1 :(得分:1)
我在Windows 8.1上,但我做的是首先安装python 2.7.9以及visual studio社区版。两者都需要编译bson。然后我安装了:" npm install -g node-gyp",之后我刚刚从我的项目中删除了node_modules并做了#34; npm install"再次。解决了。当我再次安装时,我可以在控制台上看到bson正在编译的消息。
答案 2 :(得分:0)
MongoDB依赖于一些库。在某些时候你会做到:
npm install mongodb --save
其中一个依赖项是编译bson所需的node-gyp。重要的是,node-gyp需要安装Python 2.7和Microsoft Visual Studio(参见installation section of node-gyp)。如果你没有Python 2.7和Visual Studio,那么node-gyp将无法构建,这意味着它无法编译bson(导致初始错误)。
导航至: node_modules \ mongodb \ node_modules \ mongodb-core \ node_modules \ bson
您应该找到 builderror.log 文件,其中包含有关node-gyp无法构建的原因的详细信息。很可能这是因为没有安装Python 2.7或Visual Studio。
以下是解决问题的方法:
我遇到了与bson模块未找到错误完全相同的问题。我也改变了require
行,结果出现了同样的错误(exports.BSON ...)。然后我卸载了monk和mongodb:
npm uninstall mongodb --save
npm uninstall monk --save
安装了Python 2.7和Microsoft Visual Studio,然后再次安装了mongodb和monk:
npm install mongodb --save
npm install monk --save
这解决了它。
答案 3 :(得分:0)
当我更改节点10.34和npm 1.4.28
的版本时,问题得以解决