Несовместимые версии babel-loader и babel-core - PullRequest
0 голосов
/ 31 августа 2018

Я установил babel-core, babel-loader и несколько других пакетов через npm

npm install babel-loader babel-core ...

Это привело к следующим определениям в моем package.json

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

На момент этого вопроса последняя версия babel-core действительно 6.26.3, а последняя версия babel-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 дня назад. Может ли это быть относительно недавней проблемой, вызванной тем, что она была опубликована?

enter image description here

Ответы [ 3 ]

0 голосов
/ 31 августа 2018

babel-loader@8.x - это интеграция Webpack, используемая для Babel 7.x. 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
0 голосов
/ 20 февраля 2019

У меня была такая же ошибка всего 5 минут назад, я исправил ее переустановкой babel-loader.

npm r babel-loader
npm i babel-loader@7
0 голосов
/ 31 августа 2018

Так что это была проблема с версиями, как я и подозревал.

Я зашел на страницу babel-loader истории версий и нашел версию babel-loader, которая была опубликована примерно в то же время, что и последняя версия babel-core, так что, вероятно, они будут работать хорошо друг с другом.

В данном случае это было 7.1.4 6 месяцев назад.

Оттуда все отлично работало. Это невероятно разочаровывает, что одним из ключевых преимуществ менеджеров пакетов является то, что они решают проблемы зависимости, но такой проект имеет такой фундаментальный провал.

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

enter image description here

...