找不到模块 '../build/Release/bson'] 代码: 'MODULE_NOT_FOUND' } js-bson: 无法加载 c++ bson 扩展,使用纯 JS 版本

我收到以下错误:

{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } 
  js-bson: Failed to load c++ bson extension, using pure JS version

以下是我的版本详细信息:

  • 操作系统: 视窗 7

  • MongoDB: 2.6.5

  • 节点: 0.12.0

我在这里发布问题之前已经尝试过这些东西。

  1. 我转到文件夹,并在绑定-gyp文件中进行了以下更改,从 到\node-modules\mongoose\node-modules\mongodb\node-modules\bson'include_dirs': [ '<!(node -e "require(\'nan\')")' ]'include_dirs': ["<!(nodejs -p -e \"require('path').dirname(require.resolve('nan'))\")"]

  2. 已运行此命令npm install -g node-gyp

  3. 我已经将猫鼬版本更新到3.8.21内部package.json

没有任何效果。请建议


答案 1

在 npm module mongodb 中查找:

..\node_modules\mongodb\node_modules\bson\ext\index.js

在 catch 块中将路径更改为 js 版本:

bson = require('../build/Release/bson');

自:

bson = require('../browser_build/bson');

或将文件复制到:

..\node_modules\bson\build\Release\bson

从:

..\node_modules\bson\browser_build\bson


答案 2

我今天(2016年2月19日)遇到了这个问题,我通过安装最新版本的猫鼬解决了这个问题。尝试将它放在你的 package.json 中:

"mongoose": "~4.4"

希望有所帮助。帮我解决了!