Node.js错误错误:Cannot find module 'mongoose'
Node.js error Error: Cannot find module 'mongoose'
C:'Users'Nick'Desktop'turntablefm'Bots'Super Bot>node bot.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'mongoose'
at Function._resolveFilename (module.js:334:11)
at Function._load (module.js:279:25)
at Module.require (module.js:357:17)
at require (module.js:368:17)
at Object.<anonymous> (C:'Users'Nick'Desktop'turntablefm'Bots'Super Bot'db.j
s:1:78)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Module.require (module.js:357:17)
我已经用npm install安装了它,我试着重新安装,但没有任何想法?
尝试使用以下命令安装mongoose:
npm install mongoose
不要使用-g开关
顺便说一句:我在管理模式下运行命令提示符。参考
你可以做两件事之一使它运行:-
1) 全局安装,步骤如下:-
a) npm install mongoose -g
npm link mongoose
解释:-当你通过npm全局安装一个包时,它被下载到全局node_module文件夹。对于我(Mac用户),它在/usr/local/lib/node_modules/mongoose下。我们把它链接到你要运行module.js的目录。
2) 另一种方法是在本地安装mongoose,而不是通过
全局安装 npm install mongoose
执行以上任意一个操作后,您将看到'bot.js'目录下的node_modules --> mongoose文件夹,这意味着mongoose已经成功安装。
现在,运行node bot.js,它将工作
安装--save
选项:
npm install mongoose --save
这将把mongoose添加到Heroku用来构建应用程序的package.json
中。
你必须在命令行中调用
npm install mongoose
记得从项目的根路径
npm install mongoose
调用这个命令它将工作,如果一切正常,那么你将在你的终端中看到以下内容
mongoose@4.4.19 node_modules/mongoose
├── sliced@1.0.1
├── hooks-fixed@1.1.0
├── regexp-clone@0.0.1
├── mpromise@0.5.5
├── muri@1.1.0
├── kareem@1.0.1
├── mpath@0.2.1
├── bson@0.4.23
├── mquery@1.10.0 (sliced@0.0.5, debug@2.2.0, bluebird@2.10.2)
└── mongodb@2.1.18 (readable-stream@1.0.31, es6-promise@3.0.2, mongodb-core@1.3.18)
我在Mac上遇到了同样的问题,并在聚光灯下进行了搜索,发现mongoose安装在/usr/local/node_modules中(当我运行'npm install mongoose'时)。将mongoose文件夹移动到~(home) node_modules中,npm应该在其中实际安装,解决了我的问题。
对于Typescript,我必须添加@types/mongoose: yarn add -D @types/mongoose
npm install在pwd(当前工作目录)中创建"node_modules"
随着应用程序的增长,所需模块的数量也在增长,更好的方法是维护一个包。Json(参考:https://stackoverflow.com/a/14226133/832147),然后发出"npm install",而不是分别安装。
作为一个扩展,当你在像Heroku这样的平台上部署你的应用时,你可以忽略(git ignore)你的项目的巨大node_modules目录。Heroku通过读取package.json
来安装依赖模块这种方法使我们为每个基于节点的项目创建相同的所需节点模块,但这是可以的,因为我们只需要在每个项目中发出一次"npm install"命令
如果你已经全局安装了mongoose (npm install -g mongoose),那么执行
% npm link mongoose
中的项目目录。这对我很有效。
我也有同样的问题。但我只是用mongose
而不是mongoose
。这些包的名称几乎是相似的。
在存放bot.js的目录中,是否有一个node_modules文件夹,其中有一个mongoose文件夹?您的mongodb服务器正在运行吗?
您也可以在项目的根目录中测试它,调用node(没有参数,打开REPL),并尝试在那里要求mongoose。
您正在使用mongoose不支持的windows操作系统。从这个错误信息中可以明显看出:
C:'>npm install mongoose
npm http GET https://registry.npmjs.org/mongoose/2.5.10
npm http 304 https://registry.npmjs.org/mongoose/2.5.10
npm http GET https://registry.npmjs.org/hooks/0.2.0
npm http GET https://registry.npmjs.org/mongodb/0.9.9-4
npm http 304 https://registry.npmjs.org/mongodb/0.9.9-4
npm http 304 https://registry.npmjs.org/hooks/0.2.0
npm WARN package.json mongodb@0.9.9-4 No README.md file found!
npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your operating system or architecture: mongo
db@0.9.9-4
npm ERR! notsup Valid OS: linux,darwin,freebsd
npm ERR! notsup Valid Arch: any
npm ERR! notsup Actual OS: win32
npm ERR! notsup Actual Arch: x64
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:''Program Files''nodejs''''node.exe" "C:''Program Files''nod
ejs''node_modules''npm''bin''npm-cli.js" "install" "mongoose"
npm ERR! cwd C:'
npm ERR! node -v v0.8.18
npm ERR! npm -v 1.2.2
npm ERR! code EBADPLATFORM
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:'npm-debug.log
npm ERR! not ok code 0
From doc/blog
一般来说,经验法则是:
如果你正在安装你想在你的程序中使用的东西,使用require('whatever'),然后在本地安装它,在您的项目。
如果你正在安装你想在你的shell,在命令行之类的地方,全局安装它它的二进制文件将在PATH环境变量中结束。
只需在命令行中打开项目文件夹并运行下面的命令,以便将mongoose依赖添加到包中。json文件。我百分之百的保证你不会再犯这样的错误了。
$ sudo NPM install——save mongoose
NPM install mongoose——save//它将在package.json中添加文件——如果仍然没有解决关闭你的cmd和编辑器,并再次打开
如果你正在使用Yarn:
yarn add mongoose
面临同样的问题,但我已经安装了mongoose
,但仍然得到cannot find module mongoose
。使用
node.js
中使用import mongoose from 'mongoose';
导入mongoose文件npm uninstall mongoose
并使用
重新安装npm install mongoose
修复了我的问题
这个模块是Nest的模块。您必须使用下面的代码来解决您的问题。
npm i --save @nestjs/mongoose mongoose
我遇到了同样的问题,我尝试重新安装模块,但真正的问题是在node_modules路径,所以试着在主项目中改变它。
npm install mongoose
它会默认安装在你的C:' Drive
如果你试图从D:' drive 运行一些*.js文件它会给你同样的错误。
所以我猜安装目录和*.js文件应该有相同的根目录
- 为什么我的Mongoose findAll方法返回500错误.
- Node.js:Mongoose内部服务器错误
- 错误:mongoose.model不是函数
- 使用mongoose保存多个文档时的错误处理
- 尝试使用mongoose和async保存到DB时出现多个错误
- mongoose findOne()调用未保存,输出中没有错误
- 自动递增序列字段错误 - MongoDB,Mongoose
- mongoose插件抛出错误:MissingSchemaError:Schema没有't已注册为型号“t”;预约
- 错误'对象没有方法xxx'在使用Mongoose时
- Mongoose异步填充错误.未正确调用方法
- Mongoose查询没有't返回错误
- NodeJs、AngularJs、Mongoose给出错误:TypeError:Object.keys在Function
- Mongoose强制转换错误-嵌入子文档
- HTTP错误307-Node.js(Express)、passport.js、mongoose.js和Android应用
- 使用Mongoose分页包时出现模型错误
- Node.js错误错误:Cannot find module 'mongoose'
- 关于在mongoose中查询的可跟踪游标的错误
- 保存带有空子文档集合的Mongoose文档会导致重复键错误
- Mongoose-错误:'CastError:值“”转换为ObjectId失败;{name:'Rando
- Node.js, Mongoose函数第一次返回错误,第二次不返回