Пытаюсь дать лучший обзор новичкам.
npm исторически (2010 г.) был самым популярным менеджером пакетов для JavaScript. Если вы хотите использовать его для управления зависимостями вашего проекта, вы можете ввести следующую команду:
npm init
Это создаст package.json
файл. Он содержит все зависимости проекта.
затем
npm install
создаст каталог node_modules
и загрузит в него зависимости (которые вы добавили в package.json
файл).
Он также создаст package-lock.json
файл. Этот файл используется для описания созданного дерева зависимостей. Это позволяет разработчикам устанавливать точно такие же зависимости. Например, вы можете представить, как разработчик обновляет зависимость до v2, а затем до v3, а другой напрямую обновляется до v3.
npm устанавливает зависимости недетерминированным образом, что означает, что два разработчика могут иметь разные node_modules
каталоги, что приводит к разному поведению . ** npm пострадал от плохой репутации, например, в феврале 2018 года: в версии 5.7.0 была обнаружена проблема, в которой запуск sudo npm в системах Linux изменял владельца системных файлов, что приводило к необратимому нарушению работы операционной системы.
Чтобы решить эти и другие проблемы, Facebook представила новый менеджер пакетов (2016 г.): Пряжа быстрее, более надежно и более надежно менеджера пакетов для JavaScript.
Вы можете добавить Yarn в проект, набрав:
yarn init
Это создаст package.json
файл. Затем установите зависимости с помощью:
yarn install
Будет создана папка node_modules
. Yarn также создаст файл с именем yarn.lock
. Этот файл служит той же цели, что и файл, package-lock.json
но вместо этого создается с использованием детерминированного и надежного алгоритма, что приводит к согласованным сборкам.
Если вы начали проект с npm , вы можете легко перейти на Yarn . пряжа потребляет столько же package.json
. Дополнительные сведения см. В разделе « Переход с npm» .
Тем не менее, NPM был улучшен с каждыми новыми релизами и некоторые проекты все еще использует НПЙ над пряжей .