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安装了它,我尝试重新安装但是没有任何想法吗?
答案 0 :(得分:42)
尝试使用此命令进行安装:
npm install mongoose
不要使用-g开关。
BTW:我在管理员模式下运行命令提示符。
http://prazjain.wordpress.com/2012/04/24/node-js-error-error-cannot-find-module-xyz/
答案 1 :(得分:11)
你可以做以下两件事之一来让它运行: -
1)全局安装mongoose ,步骤如下: -
一)npm install mongoose -g
b)转到你的应用程序目录,其中有bot.js,然后运行
npm link mongoose
说明: - 当您通过npm全局安装软件包时,它将下载到全局node_module文件夹。对我来说(Mac用户),它位于 / usr / local / lib / node_modules / mongoose 下。我们将此链接到您尝试运行module.js的目录。
2)另一种方法是在本地安装mongoose,而不是全局安装
npm install mongoose
遵循其中任何一个后,您将看到node_modules - &gt; &#39; bot.js&#39;下的mongoose文件夹目录,这意味着已经成功安装了mongoose。
现在,运行节点bot.js,它将起作用。
答案 2 :(得分:7)
使用--save
选项安装:
npm install mongoose --save
这会将猫鼬添加到Heroku用来构建应用的package.json
。
答案 3 :(得分:6)
您必须在命令行中调用
npm install mongoose
记得从项目的根路径中调用此命令
答案 4 :(得分:4)
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)
答案 5 :(得分:2)
我在Mac上遇到了同样的问题并在聚光灯下进行了搜索,发现mongoose安装在/ usr / local / node_modules中(当我运行'npm install mongoose'时)。将mongoose文件夹移动到〜(home)node_modules,其中npm被指示实际安装修复我的问题。
答案 6 :(得分:1)
npm install在pwd(当前工作目录)中创建“node_modules”
随着应用程序的增长,所需模块的数量增加,更好的方法是维护package.json(参考:https://stackoverflow.com/a/14226133/832147),然后只发出“npm install”而不是安装每个模块。
作为在Heroku等平台上部署应用程序的扩展,您可以忽略(git ignore)项目的巨大node_modules目录。 Heroku通过阅读package.json
来安装您的依赖模块这种方法使我们为每个基于节点的项目创建相同的必需节点模块,但是没关系,因为我们只需要为每个项目发出一次“npm install”命令
答案 7 :(得分:1)
如果您已经全局安装了mongoose(npm install -g mongoose),那么请
% npm link mongoose
在项目目录中。这对我有用。
答案 8 :(得分:0)
在bot.js的目录中,是否有一个node_modules文件夹中有一个mongoose文件夹?你的mongodb服务器在运行吗?
你也可以通过在项目的根目录,调用节点(没有args,打开REPL),并尝试在那里需要mongoose来测试它。
答案 9 :(得分:0)
您正在使用猫鼬不支持的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
答案 10 :(得分:0)
npm install mongoose
默认情况下会在C:\ Drive
上安装它如果您尝试从D:\ drive
运行一些* .js文件它会给你同样的错误。
所以我猜安装目录和* .js文件应该具有相同的根目录。
答案 11 :(得分:0)
来自doc/blog
一般来说,经验法则是:
如果您要安装要在程序中使用的内容, 使用require(&#39; what&#39;),然后在本地安装它 你的项目。
如果您正在安装要使用的内容 您的shell,在命令行或其他东西上,全局安装它,所以 它的二进制文件最终会出现在你的PATH环境变量中。
答案 12 :(得分:0)
只需在命令行中打开您的项目文件夹并在命令下运行,以便可以在package.json文件中添加猫鼬依赖项。我100%肯定不会再出现这种错误。
$ sudo npm install-保存猫鼬
答案 13 :(得分:0)
我有同样的问题。但是我只是使用mongose
而不是mongoose
。
软件包名称几乎相似。
答案 14 :(得分:0)
对于打字稿,我必须添加@ types / mongoose:yarn add -D @types/mongoose
答案 15 :(得分:0)
npm install mongoose --save //它将在package.json中添加文件 -如果仍然无法解决,请关闭您的cmd和编辑器,然后再次打开