Search code examples
npmbabeljspackage.jsonbabel-loader

Incompatible babel-loader and babel-core versions


I installed babel-core, babel-loader, and a few other packages via npm

npm install babel-loader babel-core ...

This resulted in the following definitions in my package.json

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

At the time of this question, the latest version of babel-core is indeed 6.26.3 and the latest version of babel-loader is 8.0.0 as per npmjs.com repository.

However when I run npm install again to verify everything, I get this message:

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.

Why would babel-loader depend on a version of babel-core that doesn't exist yet? And what's the recommended way to resolve this warning?

Thanks!

EDIT Looks like the babel-loader library was published only 4 days ago. Could this be a relatively recent problem caused by this being published?

enter image description here


Solution

  • So it was a versioning issue as I suspected.

    I went to the babel-loader version history page and found a version of babel-loader that was published around the same time as the latest babel-core version, so it was likely they would work well with each other.

    In this case it was 7.1.4 from 6 months ago.

    Everything worked great from there. It's incredibly disappointing that one of the key benefits of package managers is that they solve dependency issues but a project such as this has such a profoundly basic failure.

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

    enter image description here