Npm

npm
Типapplication-level package managerd і бібліотека JavaScript
АвторІсаак З. Шлютер
РозробникРебекка Тернер, Кат Марчан, інші
Перший випуск12 січня 2010; 14 років тому (2010-01-12)[1]
Стабільний випуск6.14.7 (21 липня, 2020; 4 роки тому (2020-07-21)[2])
Операційна системакросплатформова програма
Мова програмуванняJavaScript
ЛіцензіяArtistic License 2.0
Репозиторійgithub.com/npm/cli
Вебсайтwww.npmjs.com

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]

Установка

Установка пакунка проводиться за допомогою команди:

npm install <packagename>

Всі доступні для установки пакунки та їх короткий опис:

npm search

Див. також

Примітки

  1. Ранні релізи npm. GitHub. Архів оригіналу за 1 березня 2017. Процитовано 27 липня 2016.
  2. NPM ChangeLog. Архів оригіналу за 23 вересня 2020. Процитовано 16 серпня 2020 — через GitHub.
  3. Schlueter, Isaac Z. (25 березня 2013). Forget CommonJS. It's dead. **We are server side JavaScript.**. GitHub. Архів оригіналу за 8 травня 2015. Процитовано 23 жовтня 2017.
  4. Dierx, Peter (30 березня 2016). A Beginner's Guide to npm — the Node Package Manager. sitepoint. Архів оригіналу за 4 лютого 2017. Процитовано 22 липня 2016.
  5. Ampersand.js. Ampersand.js - Learn. ampersandjs.com. Архів оригіналу за 4 жовтня 2016. Процитовано 22 липня 2016.
  6. а б Ojamaa, Andres; Duuna, Karl (2012). Assessing the Security of Node.js Platform. IEEE Xplore. Архів оригіналу за 18 жовтня 2019. Процитовано 22 липня 2016.
  7. Kennedy, Hugh; DeVay, Paul. Understanding npm. Nsight. Архів оригіналу за 8 липня 2016. Процитовано 22 липня 2016.
  8. npm Code of Conduct: acceptable package content. Архів оригіналу за 29 квітня 2017. Процитовано 9 травня 2017.
  9. Архівована копія. Архів оригіналу за 11 серпня 2016. Процитовано 23 жовтня 2017.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  10. Ellingwood, Justin. How To Use npm to Manage Node.js Packages on a Linux Server. DigitalOcean. Архів оригіналу за 22 жовтня 2016. Процитовано 22 жовтня 2016.
  11. npm-install. docs.npmjs. Архів оригіналу за 3 грудня 2016. Процитовано 22 жовтня 2016.
  12. semver. docs.npmjs. Архів оригіналу за 3 грудня 2016. Процитовано 22 жовтня 2016. [Архівовано 3 грудня 2016 у Wayback Machine.]

Посилання