运行节点脚本时出错,找不到模块 'mongodb/node_modules/bson'

Posted

技术标签:

【中文标题】运行节点脚本时出错,找不到模块 \'mongodb/node_modules/bson\'【英文标题】:Error when running node script , Cannot find module 'mongodb/node_modules/bson'运行节点脚本时出错,找不到模块 'mongodb/node_modules/bson' 【发布时间】:2018-04-07 18:42:39 【问题描述】:

尝试在 mongoose 的帮助下使用 Employee 数据填充 mongo 数据库。当运行为: node populate_db.js 时,它会抛出一个错误,说

module.js:471
    throw err;
    ^

Error: Cannot find module 'mongodb/node_modules/bson' 

无法检查数据库值,因为数据库似乎也是空的。

这是我的 package.json 文件:


  "name": "hr",
  "version": "1.0.0",
  "description": "first node app server",
  "main": "index.js",
  "scripts": 
    "test": "echo \"Error: no test specified\" && exit 1"
  ,
  "repository": 
    "type": "git",
    "url": "git+https://github.com/pereiraryan/domains.git"
  ,
  "keywords": [
    "domains"
  ],
  "author": "ryan pereira",
  "license": "ISC",
  "bugs": 
    "url": "https://github.com/pereiraryan/domains/issues"
  ,
  "homepage": "https://github.com/pereiraryan/domains#readme",
  "dependencies": 
    "async": "^2.5.0",
    "mongoose-post-find": "0.0.2",
    "colors": "^1.1.2",
    "debug": "0.7.4",
    "express": "4.2.0",
    "mongoose": "^3.8.11"
   ,
  "scripts": 
    "populate": "node ./bin/populate_db"
    

【问题讨论】:

【参考方案1】:

您可以在您的 json 包文件中将您的 mongoose 更改为 4.2.9 版本。 在编辑器中打开您的 json 文件并将版本更改为“this”。在您拥有项目文件夹的那个目录中输入“npm install”。

【讨论】:

【参考方案2】:
npm install -g node-gyp 
cd /to/your/project-folder
rm -rf node_modules
npm install

尝试这样做 还有

do npm install inside node_modules/mongodb.

【讨论】:

这意味着我将重新安装所有节点模块。然后再次将其安装到 mongodb 中?我的 package.json 在依赖项中没有 mongodb。 是的,错误可能是因为版本不稳定 我必须在我的 package.json 文件中添加一个 mongodb 依赖项吗?

以上是关于运行节点脚本时出错,找不到模块 'mongodb/node_modules/bson'的主要内容,如果未能解决你的问题,请参考以下文章

加载DLL文件时出错,找不到指定的模块,如何解决?

WIN7启动老有启动 时出现问题 找不到指定模块

运行不和谐机器人时找不到模块“节点:事件”错误

错误:使用节点命令运行 JS 文件时找不到模块“firebase”

启动时出现问题,找不到指定模块怎么回事???

调用 lambda 函数时找不到模块