npm install ../faye 这似乎可以解决问题: > npm list /home/dave/s-6ren">
gpt4 book ai didi

node.js - 如何使用 Node.js 解决 "Cannot find module"错误?

转载 作者:IT老高 更新时间:2023-10-28 21:44:13 24 4
gpt4 key购买 nike

从 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com