不兼容的 babel-loader 和 babel-core 版本

Incompatible babel-loader and babel-core versions

我通过 npm 安装了 babel-corebabel-loader 和其他一些软件包

npm install babel-loader babel-core ...

这导致我的 package.json

中出现以下定义
"dependencies": {
  "babel-core": "^6.26.3",
  "babel-loader": "^8.0.0",
  ...
},

在这个问题的时候,最新版本的 babel-core 确实是 6.26.3babel-loader 的最新版本是 8.0.0 根据 npmjs.com 存储库。

然而,当我再次 运行 npm install 验证所有内容时,我收到此消息:

npm WARN babel-loader@8.0.0 requires a peer of @babel/core@^7.0.0 but none is installed. You must install peer dependencies yourself.

为什么 babel-loader 依赖 babel-core 的一个尚不存在的版本?解决此警告的推荐方法是什么?

谢谢!

EDIT 看起来 babel-loader 库仅在 4 天前发布。这可能是最近发布的问题造成的吗?

所以我怀疑这是一个版本控制问题。

我去了 babel-loader version history page 并发现 babel-loader 的一个版本与最新的 babel-core 版本大约同时发布,所以很可能他们会很好地合作。

在这种情况下,它是 6 个月前的 7.1.4

从那里一切都很好。令人难以置信的是,包管理器的主要好处之一是他们解决了依赖性问题,但像这样的项目却有如此严重的基本失败。

"dependencies": {
  "babel-core": "^6.26.3",
  "babel-loader": "^7.1.4",
  ...
},

babel-loader@8.x 是用于 Babel 7.x 的 Webpack 集成。 Babel 7.x 已将所有包从 babel- 前缀移动到 @babel npm 范围。

错误正确,您安装的是 babel-core 而不是 @babel/core

如果你想安装 Babel 6.x,你可以

npm install --save-dev babel-loader@7 babel-core

但是如果你要开始一个新项目,Babel 7 更有意义,所以你最好这样做

npm install --save-dev babel-loader @babel/core

5 分钟前我遇到了同样的错误,我通过重新安装 babel-loader 解决了这个问题。

npm r babel-loader
npm i babel-loader@7