Требуется несколько версий одного и того же peerDependency - PullRequest
0 голосов
/ 21 января 2019

Когда я запускаю npm i в моем текущем реактивном проекте, я получаю следующее предупреждение о реактивном peerDependency:

npm WARN react-tap-event-plugin@3.0.3 requires a peer of react@^16.0.0-0 < 16.4.0 but none is installed. You must install peer dependencies yourself.
npm WARN react-paginate@4.4.4 requires a peer of react@^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN formsy-react@0.19.5 requires a peer of react@^0.14.0 || ^15.0.0 but none is installed. You must install peer dependencies yourself.

В то время как в моем package.json я использую последнюю версию реаги:

"react": "^16.7.0"

Я новичок в узле и npm.Я хотел бы знать, что является хорошей практикой для установки npm peerDependencies:

1.) Можно ли игнорировать предупреждения для более низких версий, если обновленная версия уже указана в package.json.

2.) Согласно https://lexi -lambda.github.io / blog / 2016/08/24 / понимание-модель-npm-зависимостей / и https://github.com/npm/npm/issues/6565

npm обеспечиваетИзоляция зависимостей и peerDepencies должны быть установлены вручную, поэтому я должен установить все 3 версии реакции, но я боюсь, что это нарушит операторы импорта.

3.) Если ни один из указанных двух вариантов, какую версию следует использоватьв package.json. PS в моем package.json есть еще много зависимостей, для которых также может потребоваться последняя версия.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Продолжая ответ Даниэля, вы можете обновить форму-реагировать и удалить плагин реагировать-события-события:

  1. Обновить форму-реагировать до последней версии : (1.1.5 на момент написания), последняя версия этого пакета поддерживает реагирует ^ 16.
  2. response-tap-event-plugin поддерживает версию реакции до версии 16.4.У вас есть несколько вариантов здесь:
    1. Реакция понижения : понижение до 16.4 удалит все предупреждения, но ограничит вашу способность к обновлению в будущем
    2. Удалите response-tap-event-plugin : Согласно документации https://www.npmjs.com/package/react-tap-event-plugin. Этот модуль фактически устарел благодаря исправлениям, сделанным в более поздних браузерах.Проверьте сообщение в блоге для получения информации.
    3. Fork Reaction-tap-event-plugin : я бы сам этого не делал, но вы могли бы раскошелиться на плагин и опубликоватьСделай сам с обновленной реакцией peerDependency.
0 голосов
/ 21 января 2019

Зависимость однорангового узла означает, что пакет применим к определенной версии зависимости и не будет работать должным образом, если вы превысите указанную версию.

В вашем случае react-tap-event-plugin@3.0.3 требуется версиядля React меньше 16.4.0, react-paginate@4.4.4 требует любую версию React 15 и такую ​​же для formsy-react@0.19.5.

Вам нужно будет отказаться от React 16.7.0, но это может сломать ваше приложение, если вы используете функции 16.7.0, или вы можете удалить пакеты и использовать другой или написать логику пакета с самого начала..

Совет: всегда проверяйте зависимости пакетов на сайте npm, прежде чем на самом деле решите использовать пакет для вашего проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...