Глиф Учебники

npm install: как установить пакет

Справочник · JavaScript · 3 минуты чтения

npm — менеджер пакетов Node.js: он скачивает библиотеки из общего каталога npm и следит за их версиями. Ставится вместе с Node.js. Чтобы установить пакет, перейдите в терминале в папку проекта командой cd (как — в уроке Первая программа: где запускать JavaScript) и выполните:

Bash
npm init -y
npm install lodash

Первая команда (один раз на проект) создаёт файл package.json — описание проекта. Вторая скачивает пакет lodash и записывает его в package.json. Короткая форма npm install — npm i.

Теперь пакет можно подключить в коде, например в файле index.js:

JavaScript
const _ = require("lodash");

console.log(_.chunk([1, 2, 3, 4, 5], 2));

Команда node index.js выведет [ [ 1, 2 ], [ 3, 4 ], [ 5 ] ] — массив, разбитый на части по два элемента.

Что появилось в папке

Основные команды

КомандаЧто делает
npm installставит все пакеты из package.json (после скачивания чужого проекта)
npm install пакетставит пакет и добавляет в dependencies
npm install -D пакетставит пакет для разработки (devDependencies): тесты, сборщики
npm install пакет@2.1.0ставит указанную версию
npm uninstall пакетудаляет пакет из проекта
npm updateобновляет пакеты в пределах версий из package.json
npm ciчистая установка строго по package-lock.json — для серверов и сборок
npm run имязапускает скрипт из раздела scripts в package.json
npx программазапускает программу из пакета, не устанавливая его в проект

Скрипты в package.json — короткие имена для длинных команд:

JSON
{
  "scripts": {
    "start": "node index.js"
  }
}

После этого npm start (или npm run start) запускает node index.js.

require или import

Пакет подключают двумя способами:

Некоторые пакеты в новых версиях написаны только как модули. Старые версии Node.js на require такого пакета выдают ошибку ERR_REQUIRE_ESM — тогда переходите на import или обновите Node.js до свежей LTS.

Глобальная установка

npm install -g пакет ставит программу для всей системы, а не в проект. Нужно это редко: для одноразового запуска есть npx, а инструменты проекта лучше ставить в сам проект через -D — тогда у всех, кто с ним работает, одна и та же версия.

В Linux и macOS не запускайте sudo npm install -g. sudo даёт установке чужого пакета права администратора на всю систему, а часть файлов npm может остаться во владении root — дальше ошибки прав только множатся. Если обычная глобальная установка выдаёт EACCES, поставьте Node.js через nvm — тогда всё лежит в вашей домашней папке.

Частые ошибки

Перед установкой незнакомого пакета посмотрите его страницу в каталоге npm: сколько у него загрузок, когда обновлялся, совпадает ли имя с нужным до буквы. Злоумышленники публикуют пакеты с именами, похожими на популярные.