internal/modules/cjs/loader.js:582 抛出错误

150

我在控制台中收到以下错误信息:

Error : Cannot find module

这是完整的错误信息。我该怎么办?

internal/modules/cjs/loader.js:582
    throw err;
    ^

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
    at Function.Module._load (internal/modules/cjs/loader.js:506:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
    at startup (internal/bootstrap/node.js:285:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)

caseyjustus、ttfreeman、Bishwajit Vikram、Muhammad Tahir、Andrew Koper 的答案都有一个共同点,即问题中的错误出现在调用 node 时对_不存在的文件_进行操作。(!) -- 请考虑阅读 https://dev59.com/DlQJ5IYBdhLWcg3wlm7B。 - Henke
我曾经遇到过同样的问题。我将webpack-dev-server降级到2.5.1版本,现在一切都正常了。 - Nikita Bhutada
我通过使用yarn而不是npm解决了这个问题。 - Áron Pop Adorján
如果使用了 nvm run 而不是 npm run,也可能会看到此错误。 - Gayan Weerakutti
在运行npm run serve:ssr的dist文件夹时,我遇到了这个错误。为什么dist文件夹依赖于node_module? - Santosh
46个回答

0

除了以上答案之外,这可能是另一个原因,所以我分享这个答案,因为它可能有所帮助。

在我的情况下,我的初始项目路径是F:\Tutorials\Node & Links\node-and-links-fe

Node允许使用许多方式来要求文件(例如,使用相对路径或预配置路径),在我们将文件内容加载到内存中之前,node需要找到该文件的绝对位置。

当我们要求一个模块而没有指定路径时,Node将按顺序在module.paths指定的所有路径中查找该模块。

路径列表基本上是从当前目录到根目录下每个目录下的node_modules目录的列表。

如果Node在这些路径中找不到该模块/文件,则会抛出“找不到模块错误”。

在我的情况下,由于项目路径中存在'&'特殊字符,npm无法正确找到node_module路径,因为它影响了生成的绝对路径,这使得npm在查找模块时感到困惑。

所以我更改了项目文件夹名称,删除了“&”,并将其命名为F:\Tutorials\Node and Links\node-and-links-fe。然后这个问题就解决了。

您可以在此参考资料中更好地了解npm的工作原理。 在Node.js中要求模块:你需要知道的一切


0

我的错误提示是: 调试器已附加。 等待调试器断开连接... node:internal/modules/cjs/loader:936 throw err; ^ 错误:找不到模块'C:\Users\joel.sebastian\AppData\Roaming\npm\node_modules\azure-functions-core-tools\lib\main.js'......{ code: 'MODULE_NOT_FOUND', requireStack: [] }

出现问题的原因是Azure函数工具未成功安装,我通过以下方式进行了安装: npm install -g azure-functions-core-tools@3 --unsafe-perm true 如果再次显示存在文件错误,请添加强制选项: npm install -g azure-functions-core-tools@3 --unsafe-perm true --force


0
我之前也遇到过这个错误,但解决方法很简单——我把Node应用程序运行在了与app.js不同的目录下。所以,我建议你检查一下路径是否正确。

2
目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

0
Remix用户应按照以下步骤操作:
删除node_modules目录
删除package-lock.json文件
运行npm install
运行npm start
复制.env.example文件并将其重命名为.env

0
如果以上方法对你都没有起作用,甚至包括删除和重新安装npm_modules,对我来说,解决问题的方法是:
 npm audit fix --force

应该修复问题并减少漏洞。

0

Caseyjustus的评论帮了我大忙。 显然,我的require路径中有空格。

const listingController = require("../controllers/ listingController");

我修改了我的代码为

const listingController = require("../controllers/listingController");

一切都很好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接