NPM

npm — это крупнейший в мире реестр программного обеспечения. Разработчики открытого кода со всех континентов используют npm для обмена и заимствования пакетов, а многие организации используют npm для управления частными разработками.

npm состоит из трех отдельных компонентов:

  1. веб-сайт2.интерфейс командной строки (CLI)3.реестр.

Yarn и pnpm — это альтернативы npm cli. Вы можете ознакомиться и с ними.

npm управляет загрузкой зависимостей вашего проекта.

Установка всех зависимостей
Если у проекта есть файл package.json, выполнив команду

npm install
Войдите в полноэкранный режим Выйти из полноэкранного режима

Установка одного пакета

Более того, начиная с npm 5, эта команда добавляет в файл package.json зависимости. До версии 5 необходимо было добавить флаг —save.

1.save-dev устанавливает и добавляет запись в файл package.json devDependencies
2.no-save устанавливает, но не добавляет запись в файл package.json dependencies
3.save-optional устанавливает и добавляет запись в файл package.json optionalDependencies
4.no-optional предотвращает установку необязательных зависимостей.

Также можно использовать сокращенные варианты флагов:

  • S: —save
  • D: —save-dev
  • O: —save-optional

Разница между devDependencies и dependencies заключается в том, что первый содержит инструменты разработки, например, библиотеку для тестирования, а второй поставляется вместе с приложением в продакшене.

Куда npm устанавливает пакеты?
Когда вы устанавливаете пакет с помощью npm, вы можете выполнить 2 типа установки:

  • локальная установка
  • глобальная установкаПо умолчанию, когда вы вводите команду npm install, например
npm install lodash

Войти в полноэкранный режим Выйти из полноэкранного режима

пакет устанавливается в текущее дерево файлов, в подпапку node_modules.
При этом npm также добавляет запись lodash в свойство dependencies файла package.json, находящегося в текущей папке.

Глобальная установка выполняется с помощью флага -g.

npm install -g lodash

Когда это происходит, npm не будет устанавливать пакет в локальную папку, а вместо этого будет использовать глобальное местоположение.

Где именно?

Команда npm root -g подскажет вам, где именно находится это место на вашей машине.

Руководство package.json

dependencies
Задает список пакетов npm, установленных в качестве зависимостей.

devDependencies

Задает список пакетов npm, установленных в качестве зависимостей для разработки.

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

Файл package-lock.json
Цель файла package-lock.json — отслеживать точную версию каждого установленного пакета, чтобы продукт на 100% воспроизводился одинаково, даже если пакеты обновляются их сопровождающими.

Это решает очень специфическую проблему, которую package.json оставил нерешенной. В файле package.json вы можете указать, какие версии вам нужны.

Мы установили express, который зависит от accepts, «array-flatten», «body-parser», «content-disposition», а эти пакеты требуют некоторых других пакетов.

Итак, в двух словах, если мы устанавливаем пакет и этот пакет, в свою очередь, требует других пакетов, то эти пакеты хранятся в package-lock.json.

Оцените статью
devanswers.ru
Добавить комментарий