Ответ 1
Цитируется из документов пряжи:
Команда дедупликации не нужна.
yarn install
будет уже дедупликации.
Просто попробовал пряжу и действительно очень быстро. После запуска yarn
в консоли с загруженным package.json
он установил все. Затем я побежал npm dedupe
, ожидая, что ничего не произойдет, поскольку Yarn настолько оптимизирован, но он удалил тонну вещей. Есть ли какая-то пряжа, эквивалентная npm dedupe
?
Дополнение:
Как отмечалось в моем комментарии ниже, я подумал, что возможно, yarn install --flat
может быть эквивалентом npm dedupe
, поскольку документация по пряжи описывает его как "устанавливая одну и только одну версию пакета". Поэтому я играл с --flat
и там было несколько замечаний:
cannot find module
.npm dedupe
после выполнения yarn install --flat
, и это все равно привело к тонне абзацев. Это было для меня неожиданностью.Итак, я понимаю, что npm dedupe
делает какую-то другую магию под капотом, и я просто наивна в отношении процессов, которые мне не нужны. Возможно, лучше всего оставить только дерево и забыть о --flat
и dedupe
вообще.
Цитируется из документов пряжи:
Команда дедупликации не нужна.
yarn install
будет уже дедупликации.
Кажется, что даже сейчас Yarn не справляется с задачей минимизации дублирующихся зависимостей. Запуск yarn --flat
заставляет существовать только одну версию зависимости, даже если они могут быть несовместимыми, так что они не идеальны. Вы можете использовать пакет с yarn-deduplicate
, чтобы свести к минимуму количество дубликатов, но при этом разрешить некоторые в тех случаях, когда нет пересекающихся требований. yarn-deduplicate
также имеет --fail
вариант, который будет возвращать статус не равен нулю (неудачу). Это может быть полезно для запуска на CI, чтобы гарантировать, что любой, кто изменяет зависимости, не вводит новые дубликаты.