Намагаючись дати кращий огляд для початківців.
Історично 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 init
Це створить package.json
файл. Потім встановіть залежності за допомогою:
yarn install
Буде створено папку node_modules
. Пряжа також створить файл із назвою yarn.lock
. Цей файл служить тій же меті, що і файл, package-lock.json
але замість цього побудований за допомогою детермінованого та надійного алгоритму, що призводить до послідовних збірок.
Якщо ви розпочали проект з npm , ви можете легко перейти на пряжу . пряжа споживатиме те саме package.json
. Докладніше див. У розділі Перехід із npm .
Однак npm вдосконалювався з кожним новим випуском, і деякі проекти все ще використовують npm над пряжею .