Как использовать 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.