npm (Node Package Manager) — це менеджер пакунків для мови програмування JavaScript. Для середовища виконання Node.js це менеджер пакунків за замовчуванням. Включає в себе клієнт командного рядка, який також називається npm, а також онлайн-базу даних публічних та приватних пакунків, яка називається реєстром npm. Реєстр доступний через клієнт, а доступні пакунки можна переглядати та шукати через вебсайт npm. Менеджер пакунків та реєстр керуються npm, Inc.
Історія
npm написано на мові JavaScript Ісааком З. Шлютером як результат спостерігання жахливого модульного пакування. Він створив npm як альтернативу PEAR (PHP) та CPAN (Perl).[3]
Опис
npm включено як рекомендовану функцію в Node.js інсталяторі.[4]
npm складається з клієнта командного рядка, який взаємодіє з віддаленим реєстром. Це дозволяє користувачам користуватися модулями JavaScript та розповсюджувати їх.[5]
Пакунки в реєстрі знаходяться у форматі CommonJS і включають в себе файли метаданих у форматі JSON[6]
В головному реєстрі npm доступно понад 477 000 пакунків.[7] Реєстр не має процедури перевірки, а це означає, що знайдені там пакунки можуть бути низькоякісними або небезпечними[6].
Натомість npm спирається на звіти користувачів, щоб видаляти пакунки, якщо вони порушують політику безпеки (є незахищеними, зловмисними або низькоякісними).[8] npm показує статистику, включаючи кількість завантажень та кількість пакунків, щоб допомогти розробникам оцінювати якість пакетів.[9]
Використання
npm може управляти пакунками, які є локальними залежностями певного проєкту, а також глобально інстальованими інструментами JavaScript.[10]
При використанні npm як менеджера залежності для локального проєкту, можна встановити одною командою всі залежності проєкту через файл package.json.[11]
У файлі package.json кожна залежність може визначати діапазон дійсних версій, використовуючи схему семантичної версії, що дозволяє розробникам автоматично оновлювати свої пакети, одночасно уникаючи небажаних змін.[12]
Установка
Установка пакунка проводиться за допомогою команди:
npminstall<packagename>
Всі доступні для установки пакунки та їх короткий опис:
↑Архівована копія. Архів оригіналу за 11 серпня 2016. Процитовано 23 жовтня 2017.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)