【问题标题】:Incompatible babel-loader and babel-core versionsbabel-loader 和 babel-core 版本不兼容
【发布时间】:2019-02-06 15:58:47
【问题描述】:

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

npm install babel-loader babel-core ...

这导致我的package.json 中出现以下定义

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

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

但是,当我再次运行 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 版本?解决此警告的推荐方法是什么?

谢谢!

编辑 看起来babel-loader 库仅在 4 天前发布。这可能是由于发布此内容而引起的相对较新的问题吗?

【问题讨论】:

  • 澄清一下,您需要安装@babel/core,而不是babel-core。软件包没有问题,您只是安装了错误的核心。我们可以做些什么来改进文档吗?安装文档甚至包括两者的示例:npmjs.com/package/babel-loader

标签: npm babeljs package.json babel-loader


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      我去了babel-loaderversion history page,发现babel-loader 的一个版本与最新的babel-core 版本几乎同时发布,所以它们很可能会很好地相互配合。

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-04
        • 1970-01-01
        • 1970-01-01
        • 2017-01-01
        • 2022-09-29
        • 1970-01-01
        • 1970-01-01
        • 2019-04-22
        相关资源
        最近更新 更多