Как использовать Corepack
Быстрый старт
Шаг 1. Глобальная установка
corepack
поставляется в комплекте с Node.js, и так было с Node.js 14.19. Поэтому, если у вас есть Node.js, у вас есть и corepack
.
Вы можете включить corepack
на своей машине, выполнив следующую команду:
corepack enable && corepack enable npm
Это включает corepack
глобально — не нужно включать его в каждом проекте.
Шаг 2. Настройка проекта
corepack
проверяет, что в проекте используется корректный менеджер пакетов. Чтобы настроить менеджер пакетов для конкретного проекта, добавьте поле packageManager
в файл package.json
:
{
// npm
"packageManager": "npm@10.8.1",
// pnpm
"packageManager": "pnpm@9.1.4",
// yarn
"packageManager": "yarn@3.1.1"
}
Вы должны указать точную версию менеджера пакетов, которую хотите использовать, а не диапазон версий. Все перечисленные ниже варианты недопустимы:
{
// недопустимо: использует диапазон
"packageManager": "npm@^10.8.1",
// недопустимо: указано 'latest'
"packageManager": "pnpm@latest",
// недопустимо: необходимо указать точную версию
"packageManager": "yarn"
}
Шаг 3. Попробуйте
Теперь, если вы попытаетесь выполнить npm install
в проекте, в котором packageManager
установлен на pnpm
, corepack
выдаст ошибку:
Usage Error: This project is configured to use pnpm
$ npm ...
А если попытаетесь выполнить pnpm install
, corepack
автоматически загрузит и использует правильную версию pnpm:
Corepack is about to download https://registry.npmjs.org/pnpm/-/pnpm-9.1.4.tgz.
Do you want to continue? [Y/n]
Это гарантирует, что вы всегда будете использовать корректный менеджер пакетов для вашего проекта.
Зачем нужен corepack enable npm
corepack
перехватывает вызовы pnpm
и yarn
, чтобы убедиться, что вы используете их корректно. Это настраивается с помощью команды corepack enable
.
Если не запустить corepack enable npm
, вы не получите такую же проверку при использовании npm
. Поэтому необходимо запустить corepack enable npm
, чтобы быть уверенным, что с npm
будут обращаться так же, как с pnpm
и yarn
.