Node.js v16以降ではCorepackが標準同梱されている。Corepackを有効化してYarnを使用するためのコマンドとして正しいものはどれか?
解説
正解と要点正解はcorepack enable && yarn installです。CorepackはNode.js v16から標準同梱されたパッケージマネージャー管理ツールで、corepack enableを実行するだけでYarnやpnpmをグローバルインストールなしに使用できるようになります。なぜその答えなのかnpm install -g corepackはCorepackが同梱されていない古いNode.jsバージョン(v14以前)で後付けインストールする場合の手順です。v16以降ではすでにバンドルされているため不要であり、むしろバージョン競合の原因になります。nvm use corepackは無効なコマンドです。nvm(Node Version Manager)はNode.jsバージョンの切り替えツールであり、Corepackの有効化機能はありません。「nvm corepack 違い」で混同されることがありますが、役割がまったく異なります。npx corepack activateも存在しないコマンドです。npxは一時的にパッケージを実行するツールですが、Corepackの有効化サブコマンドはenableでありactivateではありません。背景・仕組みCorepackは、プロジェクトごとに適切なパッケージマネージャー(Yarn・pnpm)のバージョンを自動管理する仕組みです。package.jsonのpackageManagerフィールドに指定されたバージョンを検出し、必要に応じて自動ダウンロードして実行します。つまり、チーム全員が同じバージョンのYarnを使うことを強制できます。// package.json { "packageManager": "yarn@4.1.1" }Corepackはデフォルトでは無効状態(opt-in)で同梱されているため、明示的にcorepack enableを実行する必要があります。よくあるミスとエラーCorepackを有効化せずにYarnを実行しようとすると、以下のようなエラーが発生します。$ yarn install bash: yarn: command not foundまた、corepack enableを管理者権限なしで実行して失敗するケースも頻出します。$ corepack enable Error: EACCES: permission denied, symlink # 対処法 $ sudo corepack enable # macOS/Linux # またはnvmでNode.jsを管理していればsudoは不要nvmでインストールしたNode.jsであればホームディレクトリ配下にバイナリがあるためsudoは不要ですが、公式インストーラーや apt 経由の場合は権限が必要です。実務での活用例チーム開発でのバージョン統一: packageManagerフィールドをpackage.jsonに記載しておけば、CI環境やチームメンバー全員が同一バージョンのYarnを自動で使用できるCI/CDパイプライン: CIの設定ファイルにcorepack enableを1行追加するだけで、Yarnのグローバルインストールステップを省略できるYarn v1からv4への移行: Corepackを使えばシステムにインストール済みのYarn v1と競合させずに、プロジェクト単位でYarn v4(Berry)を導入できる