Package manager
Менеджеры пакетов — это инструменты, которые автоматизируют процесс установки, обновления и удаления зависимостей в проекте. Они упрощают управление зависимостями и обеспечивают консистентность проекта.
Основные менеджеры пакетов
- npm (Node Package Manager): Стандартный менеджер пакетов для Node.js, устанавливается вместе с Node.js.
- Yarn: Альтернативный менеджер пакетов, разработанный Facebook, обеспечивает более быструю и надежную установку зависимостей.
- pnpm (Performant npm): Менеджер пакетов, который экономит место на диске и ускоряет установку зависимостей.
Основные команды
npm
npm install
: Устанавливает зависимости, указанные вpackage.json
.npm install <package-name>
: Устанавливает указанный пакет.npm install <package-name> --save-dev
: Устанавливает пакет как зависимость для разработки.npm uninstall <package-name>
: Удаляет указанный пакет.npm update <package-name>
: Обновляет указанный пакет.npm start
: Запускает скриптstart
, указанный вpackage.json
.npm run <script-name>
: Запускает указанный скрипт изpackage.json
.
Yarn
yarn install
: Устанавливает зависимости, указанные вpackage.json
.yarn add <package-name>
: Устанавливает указанный пакет.yarn add <package-name> --dev
: Устанавливает пакет как зависимость для разработки.yarn remove <package-name>
: Удаляет указанный пакет.yarn upgrade <package-name>
: Обновляет указанный пакет.yarn start
: Запускает скриптstart
, указанный вpackage.json
.yarn run <script-name>
: Запускает указанный скрипт изpackage.json
.
pnpm
pnpm install
: Устанавливает зависимости, указанные вpackage.json
.pnpm add <package-name>
: Устанавливает указанный пакет.pnpm add <package-name> --save-dev
: Устанавливает пакет как зависимость для разработки.pnpm remove <package-name>
: Удаляет указанный пакет.pnpm update <package-name>
: Обновляет указанный пакет.pnpm start
: Запускает скриптstart
, указанный вpackage.json
.pnpm run <script-name>
: Запускает указанный скрипт изpackage.json
.
package.json
Файл package.json
содержит метаданные проекта и список зависимостей. Он создается автоматически при инициализации проекта с помощью npm init
или yarn init
.
Основные поля
name
: Имя проекта.version
: Версия проекта.description
: Описание проекта.dependencies
: Список зависимостей, необходимых для работы проекта.devDependencies
: Список зависимостей, необходимых для разработки проекта.scripts
: Список скриптов, которые можно запустить с помощьюnpm run
илиyarn run
.
package-lock.json
/ yarn.lock
/ pnpm-lock.yaml
Файлы блокировки (package-lock.json
, yarn.lock
, pnpm-lock.yaml
) содержат точные версии установленных пакетов и их зависимостей. Они обеспечивают консистентность установки зависимостей на разных машинах.
Выбор менеджера пакетов
- npm: Стандартный менеджер пакетов, подходит для большинства проектов.
- Yarn: Обеспечивает более быструю и надежную установку зависимостей, подходит для больших проектов.
- pnpm: Экономит место на диске и ускоряет установку зависимостей, подходит для проектов с большим количеством зависимостей.
Дополнительные ресурсы
- Официальная документация npm: https://docs.npmjs.com/
- Официальная документация Yarn: https://yarnpkg.com/
- Официальная документация pnpm: https://pnpm.io/