Все ли популярные команды NPM вы знаете?

0
420
views
javascript logo

Хочешь проверить свои знания по JS?

Подпишись на наш канал с тестами по JS в Telegram!

×

Всем нам доводилось хотя бы раз настраивать npm — пакетный менеджер node.js. Но мы едва ли отдаем ему должное, ведь это не основная часть нашей разработки. Мы воспринимаем npm как файл, который просто содержит зависимости. Но npm — это нечто большее. И при этом овладеть премудростями его использования хотя бы на среднем уровне совсем не сложно. Давайте начнем с популярных команд.

npm init

Это первая команда, которую вы будете использовать при настройке своего проекта.

Команда запросит у вас общую информацию: имя проекта, описание, версию, имя автора, ссылку на GitHub, домашнюю страницу и т. п. После этого будет сгенерирован файл package.json в корневой папке.

Всю введенную информацию можно в любое время отредактировать.

Если вы не хотите вводить эти сведения и предпочитаете оставить все по умолчанию, запустите команду в виде npm init --yes.

Все данные при этом будут взяты из ваших настроек конфигурации.

npm config

С помощью этой команды можно менять настройки конфигурации.

Например, можно установить имя автора по умолчанию:

npm config set init-author-name "Ankit Kumar"

Затем это значение можно вывести в stdout (в стандартный поток вывода, т. е. на экран):

npm config get init-author-name

npm install

При помощи этой команды можно установить пакет и любые пакеты, от которых он зависит. Пакет — это папка с программой, описанная в package.json или gzip-архив такой папки.

Сокращенное написание:

npm i

По умолчанию команда npm install установит все модули, перечисленные как зависимости в package.json.

Для установки отдельного пакета используйте команду в такой форме:

npm i package-name

Чтобы сохранить пакет в зависимостях (dependencies — пакеты, от которых зависит ваш пакет, чаще всего это библиотеки), используйте следующую команду:

npm i package-name --save

Для сохранения пакета в dev-зависимостях (devDependencies — пакеты, необходимые для разработки):

npm i package-name --save-dev 
или
npm i package-name -D

По умолчанию все пакеты устанавливаются локально, в папке проекта. Но пакет можно установить и глобально:

npm i package-name --global
или
npm i package-name -g

npm uninstall

Команда для удаления пакетов.

Сокращенная форма:

npm un

Чтобы удалить пакет из установленных, выполните следующую команду:

npm un package-name

Эта команда принимает три опциональных флага:

  • -g — пакет удаляется глобально
  • --save — удалить пакет из списка зависимостей
  • -D — удалить пакет из списка dev-зависимостей

npm ci

Эта команда напоминает npm install. Но есть отличие: она используется в автоматизированном окружении, например, на платформах тестирования, в непрерывной интеграции и деплойменте.

  • Для запуска npm ci у вас обязательно должен присутствовать файл package-lock.json или npm-shrinkwrap.json.
  • При несоответствии зависимостей в package.json и package-lock.json вы получите ошибки (package lock не обновится).
  • Команда используется для установки целых проектов, а не отдельных пакетов.
  • Она никогда не записывает в package.json или какой-либо из package-locks: установки, по существу, заморожены.
  • Если пакет node_modules уже присутствует, он будет автоматически удален до того, как npm ci начнет свою установку.

npm audit

С помощью этой команды можно просканировать свой проект на уязвимости и автоматически установить любые совместимые обновления для уязвимых зависимостей:

npm audit fix

npm cache

Добавляет указанный пакет в локальный кэш. Изначально эта команда предназначалась для внутреннего использования самим NPM. Но с ее помощью можно явно добавлять данные в локальный кэш инсталляций.

npm cache add <tarball file> 
npm cache add <folder> 
npm cache add <tarball url> 
npm cache add <name>@<version>

При установке пакетов они не кэшируются. Поэтому, чтобы сделать их доступными офлайн, нужно использовать эту команду.

К счастью, yarn кэширует все пакеты, которые вы устанавливаете, и доступен офлайн.

npm ls

Эта команда выводит в stdout (стандартный поток вывода) все установленные версии пакетов, а также их зависимости, в древовидном формате.

npm link

Эта команда часто используется разработчиками, которые хотят перед публикацией компонентов в реестре npm протестировать их локально. Команда создает в глобальной папке символическую ссылку {prefix}/lib/node_modules/<package>, ведущую на пакет, в котором была выполнена команда npm link.

Далее, в каком-то другом месте команда npm link package-name создаст символическую ссылку из глобально установленного package-name в node_modules/ текущей папки. Теперь вы можете импортировать ваш компонент, и он должен появиться в node_modules.

Обратите внимание, что имя пакета (package-name) берется из package.json, а не из имени директории.

npm publish

Публикация пакетов в реестре. После публикации пакеты можно будет устанавливать, обращаясь к ним по имени. Все файлы в директории пакета включаются в публикуемый пакет автоматически, если только нет локальных файлов .gitignore или .npmignore.

По умолчанию npm публикует пакеты в публичном реестре. Это можно перезаписать, указав другой реестр по умолчанию или используя scope в имени (см. package.json).

От редакции Techrocks. Предлагаем почитать статью «Как опубликовать собственный NPM-пакет».

npm pack

Эта команда создает файл с расширением .tgz (т. н. tarball, tar-архив). Этот файл — пакет, пригодный для установки в любом приложении.

Например:

example-component.tgz — это tar-архив. Я могу скопировать его в любое node-приложение. Затем я добавлю его в мой файл package.json:

"dependency": {
 "example-component: "file: ./example-component.tgz"
}

и запущу:

npm i/install

npm help

Справка по npm. Справка запрашивается в формате npm help <термин> [<термины>].

В результате будет выведена подходящая страница документации по указанному термину. Если справки по такому слову нет или если введено несколько терминов, npm запустит команду help-search для поиска соответствий.

npm whoami

Выводит на экран username, указанный в конфиге.

npm login/logout

Вход и выход из учетной записи.

Разумеется, в документации NPM можно найти куда больше полезных команд: не забывайте туда заглядывать!

От редакции Techrocks. Возможно, вам будет интересна статья «5 приемов работы с npm для повышения продуктивности».

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here