#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 или v52. Спасибо @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». Проверьте дополнительные ссылки, которые я вам отправил 😉