logo
Web
Максим Колмогоров
Максим Колмогоров
VK

Менеджер пакетов NPM: что такое, как использовать, как опубликовать пакет

Сегодня мы поговорим о менеджере пакетов 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

Оставьте комментарий

Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности

Нет комментариев