npm

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
npm
Тип application-level package managerd і бібліотека JavaScript
Автор Ісаак З. Шлютер
Розробник Ребекка Тернер, Кат Марчан, інші
Перший випуск 12 січня 2010; 14 років тому (2010-01-12)[1]
Стабільний випуск 6.14.7 (21 липня, 2020; 3 роки тому (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.

Посилання[ред. | ред. код]