【发布时间】:2016-12-28 14:22:29
【问题描述】:
我收到以下错误:
bundle.js:1 Uncaught Error: Cannot find module '/node_modules\mongodb-ore\lib\topologies/../../package.json'
这是我的版本详细信息:
操作系统:Windows10
MongoDB:2.2.16
MongoDB 核心:2.1.2
节点:6.9.2
我用过npm install bson-ext,把\node_modules\mongodb-core\node_modules\bson-ext\ext\index.js改成
try {
// Load the precompiled win32 binary
if(process.platform == "win32" && process.arch == "x64") {
bson = require('bson');
} else if(process.platform == "win32" && process.arch == "ia32") {
bson = require('bson');
} else {
bson = require('bson');
}
} catch(err) {
console.log(err)
// Attempt to load the release bson version
try {
bson = require('bindings')('bson.node');
} catch (err) {
throw new Error("js-bson: Failed to load c++ bson extension, using pure JS version");
}
}
原件是:
bson = require('./win32/x64/bson');
因为当我尝试browserify range.js > bundle.js 时,它在mongoDB-core 中找不到bson-ext module。
我不确定这种操作是否会导致上述错误。
这是我的 package.json 文件:
"dependencies": {
"browserify": "^13.1.1",
"bson": "^1.0.1",
"d3": "^4.4.0",
"express": "^4.14.0",
"hbs": "^4.0.1",
"jsdom": "^9.9.1",
"mongodb": "^2.2.16",
"mongodb-core": "^2.1.2"
}
【问题讨论】:
-
在 OSX 10.10 上看到同样的问题,
node@5.9.1。我的package.json, sincenpm 中只有"mongodb": "^2.2.16"应该自动安装deps。但是,我看到mongodb-core使用带有bson-ext的optionalPeerDependencies字段,并且mongodb-core中有几个块试图选择性地要求bson-ext。出于某种原因,本机bson-ext库没有在 npm 的install脚本上为我编译,所以我注释掉了可选的要求,......当我的应用程序编译时,我仍然在 OP 中遇到了同样的问题。 Browserify 可能无法正确解析该路径? -
更多:stackoverflow.com/questions/36902720/… 指向 mongodb + browserify 作为一个糟糕的组合...
标签: node.js mongodb browserify