Node.js错误错误:Cannot find module 'mongoose'

Node.js error Error: Cannot find module 'mongoose'

本文关键字:错误 mongoose module find js Cannot Node      更新时间:2023-09-26
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

b)进入你的app目录,也就是bot.js所在的目录,然后运行

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。使用

卸载mongoose后,在node.js中使用import mongoose from 'mongoose';导入mongoose文件
npm uninstall mongoose

并使用

重新安装
npm install mongoose

修复了我的问题

这个模块是Nest的模块。您必须使用下面的代码来解决您的问题。

npm i --save @nestjs/mongoose mongoose

我遇到了同样的问题,我尝试重新安装模块,但真正的问题是在node_modules路径,所以试着在主项目中改变它。

Windows

npm install mongoose

它会默认安装在你的C:' Drive

如果你试图从D:' drive 运行一些*.js文件

它会给你同样的错误。

所以我猜安装目录和*.js文件应该有相同的根目录