错误:"node:internal/modules/cjs/loader:1056 throw err;"

7

我正在使用 Node.js v19.4.0

当我在 Visual Studio Code 编辑器中运行 npx create-react-app MyApp 来创建 React 项目时,我遇到了以下错误:

node:internal/modules/cjs/loader:1056
  throw err;
  ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1053:15)
    at Module._load (node:internal/modules/cjs/loader:898:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:84:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

Node.js v19.4.0
node:internal/modules/cjs/loader:1056
  throw err;
  ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npx-cli.js'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1053:15)
    at Module._load (node:internal/modules/cjs/loader:898:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:84:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
8个回答

3
首先,尝试清除 npm 缓存:
npm cache clear --force or npm cache clean --force
  • 然后从应用程序中删除所有node_modules文件夹
  • 从应用程序中删除package-lock.json文件
  • 使用命令npm install再次安装软件包
  • 然后使用npm start启动应用程序

如果上述解决方案不起作用,则尝试删除Node.js,然后重新安装。


1
降级到一个受LTS支持的版本! brew install node@18 brew link --overwrite node@18 node --version 对我来说有效(MacBook M1; macOS v13.1 (Ventura))。

在部署到AWS时,我遇到了这个错误。 - undefined

0
第一个解决方案是卸载 Node.js 和 npm,然后重新安装它们。
或者可能是因为错误的 node_modules 路径。请检查路径并确保它是正确的。

0
在我的情况下,我不得不使用"npm install validator"和"npm install is-empty"命令来安装缺失的"模块"。
所需的堆栈指向了正确的方向...花了整整一天才弄清楚。

你是什么意思说“with was”和“The required stack pointed in the direction.”(看起来难以理解)? - Peter Mortensen
你说的“with was”和“指向所需堆栈”的意思是什么?(似乎难以理解) - undefined

0
我在更改文件夹名称后遇到了同样的问题。
问题出现是因为babel-node和cjs/loader库,根据错误信息,它们存储项目缓存数据。
一个解决方案是清除缓存,但即使删除了节点模块,也无法做到这一点,但找到了另一种方法。
由于React协调算法会在组件内部发生任何更改后重新渲染组件,所以我在app.js文件顶部的获取错误消息的行上面添加了一个新的空行,并重新启动了应用程序。
应用程序启动时没有抛出任何错误。它起作用了。

0
1. 卸载并重新安装Node。
2. 删除文件夹。
C:\Users{用户名}\AppData\Roaming\npm
3. 使用以下命令重新安装npm。
npm install -g npm

4. 再次运行任何npm命令

0
你可以尝试检查路径中的文件夹是否包含像'&'这样的问题字符。我刚刚遇到了这个问题,将一个文件夹名称中的'&'移除后问题得到解决。

-5

您提供的错误信息表明了 Node.js 模块加载器的问题。通常情况下,当无法加载模块或模块代码存在问题时,会引发此错误。

要解决此问题,您可以尝试以下步骤:

  1. 验证模块与您正在使用的Node.js版本的兼容性。
  2. 检查模块代码中的语法错误或其他问题,无论是自定义代码还是您尝试加载的第三方模块。验证模块与您正在使用的Node.js版本的兼容性。
  3. 清除Node.js模块缓存,因为它偶尔会导致冲突。通过删除node_modules目录并再次执行npm install来重新安装依赖项,您可以尝试清除Node.js模块缓存。
  4. 更新Node.js和npm:确保您安装了最新稳定版本的Node.js和npm。此错误可能是由于与旧版本的兼容性问题所致。有关最新版本,请访问Node.js网站(https://nodejs.org)。
  5. 检查不兼容的模块:您的项目中可能存在不兼容的模块版本。使用npm ls命令搜索重复或冲突的依赖项。
  6. 重新安装依赖项:如果前面提到的解决方法都不起作用,请考虑通过删除node_modules目录并重新运行npm install来重新安装项目的所有依赖项。
如果在尝试这些解决方案后问题仍然存在,那么分享关于您特定配置的更多细节可能会很有帮助,比如引发错误的代码以及您正在使用的Node.js和npm版本。

3
这个回答看起来像是ChatGPT。 - DavidW
这个答案看起来像是由人工智能(比如ChatGPT)生成的,而不是由实际的人类生成的。你应该知道,在Stack Overflow上【发布AI生成的输出在官方上是禁止的】(https://meta.stackoverflow.com/q/421831)。如果这个答案确实是由人工智能生成的,请强烈建议你在陷入更大麻烦之前删除它:**我们在这里非常严肃地对待剽窃行为。** 请阅读:为什么目前不允许发布GPT和ChatGPT生成的答案 - tchrist

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