Почему пряжа предупреждает каждый мой шаг? - PullRequest
0 голосов
/ 06 марта 2020

Когда я запускаю yarn global add ... или yarn global remove ..., он выдает такие предупреждения, как ...

warning "nativescript > marked-terminal@3.1.1" has incorrect peer dependency "marked@^0.4.0 || ^0.5.0".
warning "nativescript > nativescript-preview-sdk > tslint@5.4.3" has unmet peer dependency "typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev".
warning "nativescript > nativescript-preview-sdk > tslint > tsutils@2.29.0" has unmet peer dependency "typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev".

или

yarn add ... и yarn remove ..., выдаются такие предупреждения, как ...

warning " > babel-loader@8.0.6" has unmet peer dependency "webpack@>=2".
warning "nativescript-dev-webpack > ts-loader@5.4.5" has unmet peer dependency "typescript@*".
warning " > vue-loader@15.4.2" has unmet peer dependency "css-loader@*".

Как исправить эти проблемы с зависимостями?

ПРИМЕЧАНИЕ : Кажется, yarn upgrade и yarn cache clean тоже не помогают

1 Ответ

1 голос
/ 06 марта 2020

yarn (но было бы то же самое, если бы вы использовали npm в качестве клиента) предупреждает вас о неудовлетворенных зависимостях одноранговых узлов. Одноранговые зависимости отличаются от ваших обычных зависимостей тем, что при установке модуля не устанавливает его одноранговые зависимости с неявным предположением, что они у вас уже есть, или в любом случае они вам понадобятся package.

Например, babel-loader явно нуждается в Webpack для использования, и вместо того, чтобы вводить его как транзитивную зависимость, он ожидает, что он будет у вас в package.json.

Есть несколько ситуаций, когда это не работает должным образом:

  • пакет ожидает одноранговую зависимость с версией, но у вас есть номер версии, который несовместим (он все еще может работать, хотя )
  • пакет может содержать список одноранговых зависимостей, которые вам действительно не нужны - например, eslint-config-react-app требует однорангового соединения eslint-plugin-flowtype, что бессмысленно, если вы не используете Flow.

Как это исправить? добавив эти зависимости в ваш проект.

...