- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
npm install ../faye 这似乎可以解决问题: > npm list /home/dave/s-6ren">
从 GitHub 拉下一个模块并按照说明构建它后,我尝试使用以下方法将其拉入现有项目:
> npm install ../faye
这似乎可以解决问题:
> npm list
/home/dave/src/server
└─┬ faye@0.7.1
├── cookiejar@1.3.0
├── hiredis@0.1.13
└── redis@0.7.1
但是 Node.js 找不到模块:
> node app.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'faye'
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> (/home/dave/src/server/app.js:2:12)
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 Array.0 (module.js:470:10)
我真的很想了解这里发生了什么,但我不知道下一步该往哪里看。有什么建议吗?
最佳答案
使用 npm install
仅将模块安装到当前目录(在名为 node_modules
的子目录中)。 app.js 是否位于 home/dave/src/server/
下?如果没有,并且您想使用任何目录中的模块,则需要使用 npm install -g
全局安装它。
我通常在本地安装大多数包,以便它们与我的项目代码一起 checkin 。
更新(8/2019):
现在您可以使用 package-lock.json文件,当 npm 修改你的 node_modules 目录时自动生成。因此,您可以省略 checkin 包,因为 package-lock.json
会跟踪您当前正在使用的 node_modules 的确切版本。要从 package-lock.json
而不是 package.json
安装软件包,请使用命令 npm ci
。
更新(3/2016):
我的回复收到了很多批评,特别是我 checkin 了我的代码所依赖的包。几天前,有人取消发布了他们所有的包 (https://kodfabrik.com/journal/i-ve-just-liberated-my-modules),这破坏了 React、Babel 和其他所有东西。希望现在很清楚,如果您有生产代码,则不能依赖 NPM 实际为您维护依赖项。
关于node.js - 如何使用 Node.js 解决 "Cannot find module"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9023672/
我是一名优秀的程序员,十分优秀!