yarn は、JavaScript/Node.js のパッケージ管理ツールです。npm の代替として Facebook によって開発され、依存関係の解決速度やキャッシュ機能に優れています。
プロジェクトの依存関係管理、スクリプト実行、ライブラリの公開などに利用されます。
yarn コマンドが使えない(command not found)ときの導入方法
「yarn: command not found」と表示される場合、多くは yarn がまだインストールされていない、または Node.js に同梱の corepack が有効化されていないのが原因です。Node.js 16.10 以降は、以下の corepack を使う方法が公式に推奨されています。
# Node.js 16.10+ で推奨される方法(corepack を使う)
corepack enable
corepack prepare yarn@stable --activate
# 従来からある方法(npm経由でグローバルインストール)
npm install -g yarn
# インストール確認
yarn --version
Node.js 25 以降では corepack が同梱されなくなったため、その場合は npm install -g corepack を先に実行してから corepack enable を行ってください。
yarn と npm・pnpm の違い
| 項目 | yarn | npm | pnpm |
|---|---|---|---|
| 同梱状況 | 別途インストール(corepack経由) | Node.js に標準同梱 | 別途インストール |
| インストール速度 | 速い(キャッシュ活用) | 標準的 | 非常に速い |
| ディスク使用量 | やや多い | 多い | 少ない(シンボリックリンク共有) |
| ロックファイル | yarn.lock | package-lock.json | pnpm-lock.yaml |
| モノレポ対応 | workspaces | workspaces | pnpm workspaces(高機能) |
すでに package-lock.json があるプロジェクトに yarn を後から導入すると、ロックファイルが競合し依存関係の解決結果がずれることがあります。移行する場合は package-lock.json を削除し、yarn.lock に統一しましょう。
構文(Syntax)
yarn <コマンド> [オプション]
主なコマンド一覧
| コマンド | 説明 | 使用例 |
|---|---|---|
yarn init | 新しいプロジェクトを初期化(package.json作成) | yarn init -y |
yarn add <pkg> | 依存関係を追加 | yarn add lodash |
yarn add <pkg> --dev | 開発用依存関係を追加 | yarn add jest --dev |
yarn remove <pkg> | 依存関係を削除 | yarn remove lodash |
yarn install | package.json に基づいて依存関係をインストール | yarn install |
yarn upgrade | 依存関係を更新 | yarn upgrade lodash |
yarn run <script> | package.json 内のスクリプトを実行 | yarn run build |
yarn list | インストール済み依存関係を表示 | yarn list --depth=1 |
yarn cache | キャッシュを操作 | yarn cache list |
yarn global add <pkg> | グローバルにインストール | yarn global add typescript |
実行例
新しいプロジェクトを初期化
yarn init -y
ライブラリを追加
yarn add express
開発依存ライブラリを追加
yarn add jest --dev
依存関係をインストール
yarn install
スクリプトを実行
yarn run start
パッケージを削除
yarn remove express
インストール済み依存関係を確認
yarn list --depth=1
グローバルに TypeScript をインストール
yarn global add typescript
エラー例(存在しないパッケージ)
yarn add notfound-package
出力例:
error An unexpected error occurred: "https://registry.yarnpkg.com/notfound-package: Not found".
よくある質問(FAQ)
yarn がインストールされていないのが原因です。Node.js 16.10 以降なら corepack enable と corepack prepare yarn@stable --activate で有効化するのが公式に推奨されている方法です。従来通り npm install -g yarn でも導入できます。
新規プロジェクトであればどちらでも大きな差はありませんが、既存プロジェクトに yarn.lock または package-lock.json がある場合は、そのロックファイルに合わせたパッケージマネージャーを使うのが安全です。
Classic は node_modules ベースの従来型、Berry は Plug’n’Play(PnP)によるゼロインストールなど設計が大きく異なります。既存プロジェクトの手順をそのまま使う場合は yarn set version classic で Classic に固定できます。
ツールによって依存関係の解決結果がずれる可能性があります。どちらか一方に統一し、使わない方のロックファイルは削除しておきましょう。
関連コマンド
npm: Node.js 標準のパッケージマネージャ。pnpm: 高速でディスク効率の良いパッケージマネージャ。
備考
- Yarn には Classic (v1) と Berry (v2以降) があり、機能やコマンドに差異があります。Berry では Plug’n’Play(PnP)によるゼロインストールや
yarn dlx(一時実行)などが使えます。プロジェクトを Classic 固定にしたい場合はyarn set version classicを実行します。 yarn.lockファイルにより、依存関係のバージョン固定が可能。- 大規模プロジェクトやモノレポ(Monorepo)管理に向いており、
workspaces機能を持ちます。
参考
- Yarn 公式: https://yarnpkg.com/
- ドキュメント: https://yarnpkg.com/getting-started

コメント