Почему бы мне не использовать npm для установки пряжи?

В сообщение в блоге, объявляющее пряжу (альтернативный клиент npm), они говорят: "Самый простой способ начать - запустить npm install -g yarn". Но если вы перейдете к ," npm install yarn "не указана ни на одной из платформ и он предлагается только в качестве третьего из трех вариантов на странице" Альтернативы ". Кроме того, когда вы npm install пряжа, он печатает предупреждение об устаревании:" Рекомендуется устанавливать пряжу, используя собственный метод установки для вашей среды". Поэтому мой вопрос: если npm install - самый простой способ установки, почему он не рекомендуется в своих документах? Есть ли недостатки в установке пряжи с помощью npm?

Ответы

Ответ 1

Нет никаких видимых недостатков для установки пряжи через npm. Фактически я выбрал этот метод сам по нескольким причинам:

  • Это, безусловно, самый простой способ сделать это. npm i --global yarn, и вы может буквально заменить npm на yarn на консоли сразу.
  • Если вы используете nvm и поддерживаете разные проекты кода для каждой версии NodeJS, вы можете установить пряжу на одну версию и не иметь ее на другой
  • Честно говоря, единственная причина, по которой я могу думать о том, что она не упоминается в установках Platform Specific, заключается в том, что npm является агностическим для платформы

Ответ 2

В соответствии с инструкторами по проектированию пряжи, устанавливая пряжу через npm идет вразрез с целями проекта, может вызвать проблемы и, в целом, хуже, чем методы установки на платформе.


Преимущества рекомендуемой для платформы установки:

  • Команды пряжи расценивают npm как ненадежные и ненадежные. Из раздела "Установить через npm" на пряже "Установка" страница:

    Примечание. Установка пряжи через npm обычно не рекомендуется. Установка пряжи с npm не является детерминированной, пакет не подписан, и единственная проверка целостности - это основной хэш SHA1, который представляет угрозу безопасности при установке общесистемных приложений.

    По этим причинам настоятельно рекомендуется установить пряжу методом установки, наиболее подходящим для вашей операционной системы.

  • Running Yarn, которая является отдельной утилитой диспетчера пакетов, через npm может привести к проблемам с кратким случаем (см. вопрос 2072)

  • Установка через диспетчер системных пакетов развязывает Пряжа из npm, позволяющая запускать пряжу без npm
  • Менеджер системных пакетов обычно работает регулярно, сохраняя обновленную пряжу
  • Установка пряжи через npm медленный

Преимущества npm install -g yarn:

  • Быстрый и простой (npm install -g yarn)
  • Может быть сделано в любой среде npm (платформа-агностик)
  • Знакомая парадигма и процесс для разработчиков Node.js
  • Может быть легко обновлен (npm update -g yarn)
    • Существует команда обновления строки (yarn self-update), но она кажется сломанной
  • Не зависит от менеджеров системных пакетов
  • Можно использовать разные версии пряжи для разных проектов или разных версий Node.js через nvm

Аргументы диспетчера системных пакетов для рекомендуемой установки имеют тенденцию разбиваться при обращении к Windows, где нет официального диспетчера пакетов (если вы не подсчитываете Центр обновления Windows). Кроме того, диспетчеры пакетов Windows, такие как Chocolatey, часто не настроены для автоматического обновления.

Я не уверен, что полностью согласен с решением команды Yarn по этому поводу, но они делают некоторые справедливые моменты. Проект "Пряжа" еще молод, и если он станет заменой для npm, тогда было бы бессмысленно поощрять npm в качестве основного установщика.

Независимо от того, что установки через npm кажутся в настоящее время очень хорошими в настоящее время.


Источники:

Ответ 3

Поскольку npm не является специфичным для платформы и работает практически в любой системе, он указан как альтернатива. Нет никаких преимуществ или недостатков в отношении конкретных установок платформы. Разница была бы в местоположении установки, но все методы отображают глобальную команду yarn для вашего CLI.

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