创建 React App 需要一个依赖项:"babel-loader": "8.1.0"

IT技术 reactjs babel-loader
2021-03-26 05:08:54

项目依赖树可能有问题。这可能不是 Create React App 中的错误,而是您需要在本地修复的问题。

Create React App 提供的 react-scripts 包需要一个依赖:

"babel-loader": "8.1.0"

不要尝试手动安装:您的包管理器会自动安装。但是,在树的更高位置检测到了不同版本的 babel-loader:

D:\Reactjs\node_modules\babel-loader(版本:8.0.6)

众所周知,手动安装不兼容的版本会导致难以调试的问题。

如果您希望忽略此检查,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .e nv 文件中。这将永久禁用此消息,但您可能会遇到其他问题。

要修复依赖关系树,请尝试按照以下确切顺序执行以下步骤:

  1. 删除项目文件夹中的 package-lock.json(不是 package.json!)和/或 yarn.lock。
  2. 删除项目文件夹中的 node_modules。
  3. 从项目文件夹中的 packa ge.json 文件中的依赖项和/或 devDependencies 中删除“babel-loader”。
  4. 运行 npm install 或 yarn,具体取决于您使用的包管理器。

在大多数情况下,这应该足以解决问题。如果这没有帮助,您还可以尝试其他一些方法:

  1. 如果您使用 npm,请安装 yarn ( http://yarnpkg.com/ ) 并用它重复上述步骤。这可能会有所帮助,因为 npm 存在已知的包提升问题,这些问题可能会在未来版本中得到解决。

  2. 检查 D:\Reactjs\node_modules\babel-loader 是否在你的项目目录之外。例如,您可能不小心在家中安装了一些较旧的东西。

  3. 尝试在您的项目文件夹中运行 npm ls babel-loader。这将告诉您安装了 babel-loader 的其他包(除了预期的 react-scrip ts)。

如果没有其他帮助,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .env 文件中。如果您无论如何都想继续,这将永久禁用此预检检查。

6个回答

如果您还没有,请尝试故障排除指南。如果这也失败了,请在您的根目录中创建一个 .env文件,添加 SKIP_PREFLIGHT_CHECK=true并使用 npm start 重新启动。如果这没有帮助,请改用纱线。它应该工作。对于大多数人来说,删除 node_modules 文件夹并重新安装可以解决问题。

npm i yarn -g

您认为这是合理或合乎逻辑的解决方案吗?错误是说它可能会开发其他错误
2021-06-16 05:08:54

您之前可能已经在用户文件夹中安装了一个项目。检查node_modules目录和package-lock.json您的用户根目录。

您可以使用以下方法删除它们:

rm -rf ~/User/node_modules
rm -rf ~/User/package-lock.json

之后删除项目中的node_module目录和pack-lock.json文件,然后npm install再次运行那么它应该工作。

我已经完成了这些步骤,但错误仍然存​​在,这个问题还有其他解决方案吗?
2021-05-29 05:08:54

只需在您的package.json:

"optionalDependencies": {
  "babel-loader": "8.1.0"
},

...然后运行npm iyarn再次运行

为避免添加 SKIP_PREFLIGHT_CHECK 标志,请尝试从 package.json 中的 babel-loader 中删除插入符号以锁定版本。

"babel-loader": "^8.1.0"
to
"babel-loader": "8.1.0"

发布以防万一这对其他人有帮助。

我已经将一个 repo 克隆到我的系统并完成了,npm install但是当我尝试运行npm run start. 我没有任何node_modules的父文件夹,我想删除我node_modulespackage-lock.json和做npm install一次,但没有奏效。

我发现我需要一个旧版本的包 ( quill-magic-url) babel-loader@^7.1.5所以当我这样做时,npm install它正在安装 7.1.5。我升级了那个包并且BOOM它起作用了。

PS 我在 VS Code 中进行了“在所有文件中查找”搜索以查找babel-loader使用的位置。那就是我发现流氓版本的地方。