Ошибка сборки зависимостей Webpack — Обновление пакета

#javascript #node.js #webpack

Вопрос:

Я получаю эту ошибку при запуске установки npm в проекте с webpack (я запускаю установку npm после удаления каталога node_modules из-за ошибок, возникших при сборке). Я немного смущен тем, что мне нужно обновить именно на основе этой ошибки. Веб-пакет или css-загрузчик?

  While resolving: client@1.0.0
 Found: webpack@2.7.0
 node_modules/webpack
 dev webpack@"^2.7.0" from the root project

 Could not resolve dependency:
 peer webpack@"^4.0.0 || ^5.0.0" from css-loader@3.6.0
 node_modules/css-loader
 dev css-loader@"^3.1.0" from the root project
 

Мой package.js файл содержит «css-загрузчик»: «^3.1.0» и «веб-пакет»: «^2.7.0»

Спасибо. J

Комментарии:

1. css-loader имеет зависимость от webpack v4 или v5

2. Спасибо @Phil, но у меня установлен webpack 2.7.0, объясняющий, почему я не понимаю, почему существует зависимость от v4 или v5.

Ответ №1:

Если вы устанавливаете «webpack»: «^2.7.0» означает, что вам нужна версия 2.7.0 или более новая второстепенная или исправленная версия (2.7.1, 2.8.0 и т. Д.), Но не версия, которая изменяет основную версию (пример 3.0.0).

Теперь пакет css-загрузчика требует, чтобы webpack был как минимум основной версии 4.

Решение: Обновите веб-пакет.

Более подробная информация в https://semver.org/ и этот средний пост

Комментарии:

1. Спасибо @Nat, я понимаю ваше объяснение. Однако у меня установлен css-загрузчик 3.1.0, а не 3.6.0 (согласно моему файлу package.json). Почему он ссылается на эту последнюю версию?

2. На самом деле у вас установлена версия 3.6.0, потому что вы устанавливаете «css-загрузчик»: «^3.1.0» (обратите внимание на ^) в своем пакете.json, если вы не хотите изменять второстепенную версию, вместо этого установите «css-загрузчик»: «~3.1.0». Проверьте дополнительные ссылки, которые я вам отправил 😉