Должен ли я самостоятельно разрешить зависимости от npm?
Я, кажется, спустился в кроличью нору с этим. Хотя я использую webpack в качестве примера, я ищу ответ, который не является специфичным для webpack. В идеале я хотел бы решить эти проблемы, но стоит ли мне вообще беспокоиться?
У меня есть приложение, чьи зависимости имеют зависимости от других версий webpack. Когда я бегу npm install
вот что я вижу (для ясности добавлены новые строки):
npm WARN babel-loader@7.1.2 requires a peer of webpack@2 || 3 but none is installed. You must install peer dependencies yourself.
npm WARN extract-text-webpack-plugin@3.0.2 requires a peer of webpack@^3.1.0 but none is installed. You must install peer dependencies yourself.
npm WARN file-loader@1.1.5 requires a peer of webpack@^2.0.0 || ^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN html-webpack-plugin@2.29.0 requires a peer of webpack@1 || ^2 || ^2.1.0-beta || ^2.2.0-rc || ^3 but none is installed. You must install peer dependencies yourself.
npm WARN css-loader@1.0.0 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN schema-utils@0.4.5 requires a peer of webpack@^2.0.0 || ^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN sw-precache-webpack-plugin@0.11.4 requires a peer of webpack@^1 ||^2 || ^2.1.0-beta || ^2.2.0-beta || ^3 but none is installed. You must install peer dependencies yourself.
npm WARN uglifyjs-webpack-plugin@0.4.6 requires a peer of webpack@^1.9 || ^2 || ^2.1.0-beta || ^2.2.0-rc || ^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN webpack-dev-middleware@1.12.2 requires a peer of webpack@^1.0.0 ||^2.0.0 || ^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN webpack-dev-server@2.9.4 requires a peer of webpack@^2.2.0 || ^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN webpack-manifest-plugin@1.3.2 requires a peer of webpack@1 || 2 ||3 but none is installed. You must install peer dependencies yourself.
Я пытался установить все различные версии, но не знал как. В моем файле package.json запись для веб-пакета просто обновлялась до последней установленной версии. Когда я ударил webpack@3.12.0
количество зависимостей уменьшилось до:
npm WARN react-google-maps@9.4.5 requires a peer of @types/googlemaps@^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN react-google-maps@9.4.5 requires a peer of @types/markerclustererplus@^2.1.29 but none is installed. You must install peer dependencies yourself.
npm WARN react-google-maps@9.4.5 requires a peer of @types/react@^15.0.0 ||^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN css-loader@1.0.0 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN schema-utils@0.4.5 requires a peer of webpack@^2.0.0 || ^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
Итак, кажется, что 3.12.0 отвечает потребностям большинства моих зависимостей, но все еще есть некоторые, которые суетятся. Тьфу.
Я пытался положить такие вещи, как "webpack": "^3.0.0 || ^3.0.0 || ^4.0.0"
в мой package.json, но это ничего не сделало. Может быть, мне нужно добавить их все?
Я посмотрел на многие ответы здесь, но многие из них относятся к Angular или просто говорят: "обновить до npm >= 3". В идеале я ищу способ убрать эти предупреждения в любой ситуации, когда для многих зависимостей требуются разные версии другой зависимости.
Этот ответ, кажется, очень близок: /questions/47406977/v-chem-raznitsa-mezhdu-zavisimostyami-devdependencies-i-peerdependencies-v-fajle-npm-packagejson/47407041#47407041
Я старался npm install --production
, но безрезультатно.
Многие ответы здесь спрашивают, как исправить этот ад, но еще не ответили: npm запустил запрос ручной установки зависимостей пира
У меня вопрос, стоит ли мне вообще пытаться заставить их решить? Это не делает приложение сломанным или что-то еще, но это просто раздражает, видя это. Я боюсь, что это создаст ситуацию "мальчик, который плакал волк", где я буду просто относиться к ним как к шуму и пропустить вещи, которые могут быть важны. Иногда даже добавление одного из этих пиров добавляет еще больше неудовлетворенных зависимостей пира. Печаль во благо!