Менеджер пакетов NPM: что такое, как использовать, как опубликовать пакет
Сегодня мы поговорим о менеджере пакетов NPM, узнаем зачем он нужен, а также научимся устанавливать и создавать свои собственные пакеты.

NPM пакеты автора
Плагин для Cordova, добавляющий Push Notification в iOS и Android приложение – смотреть.
Что такое NPM
NPM – (расшифровывается как Node Package Manager) это менеджер пакетов (можно читать как “плагинов”) для языка программирования JavaScript. NPM устанавливается на компьютер программиста автоматически после установки языка программирования Node.js.
Что такое Node.js
Node.js – это серверная реализация языка программирования JavaScript. Грубо говоря, это тот же JavaScript, только работающий за пределами браузера. Изначально JavaScript создавался исключительно как браузерный язык, с помощью него добавляли интерактивности в веб-страницы. В 2014 году Райан Даль создал Node.js и тем самым расширил возможности языка программирования JavaScript.
Кто и зачем использует NPM
NPM используют программисты для установки готовых решений в свои проекты. Вот смотрите, в мире PHP и WordPress существуют плагины, которые можно добавлять в свой сайт расширяя его базовый функционал. Вот NPM – это почти тоже самое, только для JavaScript и Node.js.
Знающие люди могут отметить, что пример с плагинами на WordPress некорректный, ведь у языка программирования PHP (на нем WordPress написан) есть свой аналог NPM. В любом случае, это было сделано нами лишь для упрощения усвоения материала.
Аналоги NPM в других языках
У языка программирования PHP есть свой менеджер пакетов – Composer, у Python – Pip, у С# – NuGet, а у Ruby – RubyGems.
На самом деле, даже внутри одного языка программирования может быть несколько менеджеров пакетов, например, в JavaScript у NPM есть конкурент – Yarn. У них есть небольшие отличия, но о них мы не будем говорить в контексте данной статьи.
Также, стоит отметить, что NPM содержит в себе настолько много готовых пакетов, что если сложить все пакеты из RubyGems, NuGet и Composer, то там все равно будет больше. Это все связано с популярностью JavaScript, ведь это один из самых популярных языков в мире. К слову, PHP, популярный язык в России, даже в тройке лидеров не находится на данный момент.
Как использовать NPM
Для начала необходимо установить NPM на свой компьютер, это произойдет автоматически после установки Node.js. Проверить есть ли у Вас NPM можно с помощью команды в терминал (или командной строки на Windows):
npm -v
Далее, в том проекте, в котором ведется разработка, нужно произвести инициализацию менеджера пакетов командой:
npm init
Далее, менеджер пакетов задаст несколько вопросов: имя проекта, описание, версия, лицензия, автор. Ничего сложного. Когда Вы ответите на все вопросы, в папке появится файл package.json. В нем будет отображена вся заполненная Вами информация.
После, в любое время, Вы можете устанавливать любой пакет из NPM в свой проект с помощью команды:
npm install название_пакета
Все установленные пакеты будут находиться в папке node_modules, а в файл package.json будут записаны все названия имеющихся пакетов. После первой установки пакета в папке с проектом появится еще файл package-lock.json, в нем хранится автоматически собранная информация о скаченных пакетах, иными словами слепок папки node_modules (сейчас ниже объясним зачем).
Когда Вы передадите другому программисту свой проект, без папки node_modules естественно, ибо она может весить очень много, он может установить все пакеты с помощью команды:
npm install
Но вот незадача, у другого программиста не получается все установить: пакеты конфликтуют, или просто у него есть какой-то баг, а у Вас нет. Вот для этого и существует файл package-lock.json – в нем хранится слепок (или можно сказать история) установленных пакетов и их версий в мельчайших подробностях. Поэтому другой программист может воспользоваться командой:
npm ci
Грубо говоря, после этого произойдет установка пакетов не из package.json, а из package-lock.json.
Как опубликовать свой пакет в NPM
В начале нужно зарегистрироваться на сайте npmjs.com. Сделать это можно с помощью команды:
npm adduser
Далее, нужно авторизоваться с помощью команды:
npm login
После нужно инициализировать свой проект (будущий пакет) через команду “npm i”, о которой мы говорили выше. Важно: заполните максимально подробно информацию о пакете (ответьте на все вопросы). Придумайте уникальное имя, ибо установка пакета будет происходить именно через него.
Потом, не забудьте создать файл README.md, в котором грамотно опишите документацию к пакету (чтобы им могли другие люди воспользоваться). Когда все будет готово выполните команду:
npm publish
После пакет будет опубликован, и Вам дадут ссылку на него.
Как обновить свой пакет в NPM
Если Вы обновите код и захотите опубликовать новую версию пакета в NPM, то просто смените версию пакета руками в файле package.json, например, с 1.0.0 на 1.0.1 и снова выполните команду публикации пакета:
npm publish
Оставьте комментарий