Установка пакетов NPM
Существует два способа установки пакетов npm
:
Локально
пакеты устанавливаются в каталогnode_modules
родительского каталога. Владельцем каталога является текущий пользовательГлобально
устанавливаются в каталог{prefix}/lib/node_modules/
, владельцем которого являетсяroot
, префиксом в данном случае обычно является каталог/usr/
или/usr/local
. Это значит, что вам надо использоватьsudo
для глобальной установки пакетов, что может повлечь ошибки с полномочиями при разрешении сторонних зависимостей, а также создает проблему для безопасности
Локальная установка
Если вы хотите использовать пакеты в проекте, вам нужно воспользоваться локальной версией
. Будет создан каталог node_modules
в текущей папке проекта и туда скачаются указанные пакеты в раздел dependencies
:
npm install имя_пакета
Если нужно скачать пакет в раздел devDependencies
:
npm install имя_пакета --save-dev
Если у вас есть файла package.json
в текущем каталоге который контролирует в целом процесс устаноки, то устанавливается то, что указанно в этом файле, файл делится на два раздела для удобства разработчика, можно что-то для удобства использовать исключительно при разработке, а для боевой версии не выгружать:
dependencies
предназначен для установки пакетов необходимых для работы сайтаdevDependencies
предназначен для установки пакетов необходимых для разработки сайта
Есть команда которая установит все пакеты из dependencies
:
npm install --production
Есть команда которая установит все пакеты из devDependencies
:
npm install
Глобальная установка
Устанавливайте пакет глобально, если вы хотите его использовать как самостоятельную утилиту с командной строки, подключить к проекту глобальный пакет не получиться:
npm install -g имя_пакета
Если вы получите ошибку EACCESS
, то это значит, что у вас нет прав на изменение каталога, который npm
использует для глобальных пакетов. В этом случае вам нужно сделать одно из следующих:
- Изменить права доступа к каталогу, который npm использует по умолчанию
- Изменить каталог по умолчанию для npm
- Установить node c помощью пакетного менеджера
Вывод списка установленных пакетов
Вывести список глобально установленных пакетов с помощью команды:
npm list --global
Получим следующий вывод:
├─┬ npm@3.7.5
│ ├── abbrev@1.0.7
│ ├── ansi-regex@2.0.0
│ ├── ansicolors@0.3.2
│ ├── ansistyles@0.1.3
....................
└─┬ uglify-js@2.6.2
├── async@0.2.10
├── source-map@0.5.3
├── uglify-to-browserify@1.0.2
Такой вывод списка со всеми зависимостями, перенасыщен. Мы можем выводить его в более читаемом виде с помощью опции:
npm list --global --depth=0
Получим следующий вывод:
├── npm@3.7.5
└── uglify-js@2.6.2
Вывести список локально установленных пакетов с помощью команды:
npm list
Куда устанавливаются пакеты
Установленная библиотека попадет в папку node_modules
. Если у библиотеки есть зависимости, они также будут установлены в эту папку как отдельные библиотеки.
Библиотеки, установленные через npm
, можно подключать к HTML файлу. Но делать этого не стоит, так как они представляют собой модули. Такие библиотеки следуюет подключать особым образом.
Перенос проекта
Папка node_modules
занимает много места и содержит много мелких файлов. Поэтому, когда вы заливаете свой проект на хостинг или даете проект коллеге, вам не стоит отдавать папку с библиотеками. Легко можно установить библиотеки, прописанные в файле package.json
, инициализировать установку прописанных библиотек можно одной командой:
npm install