Редагувати (2020/11/23):
Дякуємо @Kissaki за надання в коментарях оновлених порад щодо пряжі.
Починаючи з Yarn 2.x, команда Yarn змінила свої поради і тепер пропонує встановити інструмент за допомогою npm. Ця порада зосереджується на перевагах блокування версії Пряжі, що використовується для кожного проекту. Це дозволяє проектам бути стійкими до варіацій між версіями пряжі.
З нової сторінки "Встановлення" пряжі :
Використання єдиного менеджера пакетів у вашій системі завжди було проблемою. Для стабільності встановлення потрібно запускати з однаковою версією менеджера пакетів у всіх середовищах, інакше існує ризик ввести випадкові порушення між версіями - зрештою, саме тому поняття lockfile було введено в першу чергу! І оскільки пряжа в певному сенсі є вашою першою залежністю від проекту, має сенс також її «зафіксувати».
З цієї причини Пряжа 2 та пізніші версії мають керуватися побічним проектом.
Це схоже на інші методи блокування версій інструментів побудови для кожного проекту. Див . Приклад Gradle Wrapper .
Переваги автономної установки пряжі досить швидко руйнуються, особливо із зміною напрямку команди пряжі. Зараз пропонується установка за допомогою npm, і, здається, на сайті Yarn 2.x на їх веб-сайті більше не пропонуються інструкції щодо автономних установок.
Оригінальна відповідь:
На думку розробників проекту "Пряжа", встановлення Пряжі через npm суперечить цілям проекту , може спричинити проблеми і, як правило, гірше, ніж методи встановлення для певної платформи.
Переваги рекомендованої установки для конкретної платформи:
- Команди Пряжі розглядають npm як небезпечний та ненадійний. З розділу "Встановити через npm" на сторінці "Встановлення" пряжі :
Примітка: Встановлення пряжі через npm зазвичай не рекомендується. Встановлення Yarn за допомогою npm не є детермінованим, пакет не підписаний, і єдиною перевіркою цілісності є базовий хеш SHA1, що становить ризик для безпеки при встановленні загальносистемних програм.
З цих причин настійно рекомендується встановлювати Пряжа способом, що найкраще підходить для Вашої операційної системи.
- Запуск Yarn, який є окремою утилітою диспетчера пакетів, через npm може призвести до виникнення крайових проблем (див. Випуск 2072 )
- Встановлення через менеджер системних пакетів відокремлює Yarn від npm, дозволяючи запускати Yarn без npm
- Зазвичай менеджер системних пакетів працює регулярно, постійно оновлюючи Пряжу
- Встановлення пряжі через npm відбувається повільно
Переваги npm install -g yarn
:
- Швидко і просто (
npm install -g yarn
)
- Можна зробити в будь-якому середовищі npm (агностичне для платформи)
- Знайома парадигма та процес для розробників Node.js
- Можна легко оновити (
npm update -g yarn
)
- Команда поновлення Пряжі існує (
yarn self-update
) , але це , здається, зламано
- Відсутність залежності від менеджерів системних пакетів
- Можна використовувати різні версії Yarn для різних проектів або різні версії Node.js через
nvm
Аргументи системного пакета для рекомендованої інсталяції, як правило, розбиваються, посилаючись на Windows, де немає офіційного менеджера пакетів (якщо не рахувати Windows Update). Крім того, менеджери пакетів Windows, такі як Chocolatey, часто не налаштовані на автоматичне оновлення.
Я не впевнений, що повністю погоджуюсь з рішенням команди "Пряжа" щодо цього, але вони роблять деякі справедливі зауваження. Проект "Пряжа" все ще молодий, і якщо він хоче стати заміною npm, тоді не має сенсу заохочувати npm як основного інсталятора.
Незважаючи на це, на сьогодні, в більшості випадків, встановлення через npm, здається, працює чудово
Джерела: