yarn – JavaScript パッケージマネージャ

コマンドリファレンス

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 の違い

項目yarnnpmpnpm
同梱状況別途インストール(corepack経由)Node.js に標準同梱別途インストール
インストール速度速い(キャッシュ活用)標準的非常に速い
ディスク使用量やや多い多い少ない(シンボリックリンク共有)
ロックファイルyarn.lockpackage-lock.jsonpnpm-lock.yaml
モノレポ対応workspacesworkspacespnpm 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 installpackage.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: command not found と出るときはどうすればいい?

yarn がインストールされていないのが原因です。Node.js 16.10 以降なら corepack enablecorepack prepare yarn@stable --activate で有効化するのが公式に推奨されている方法です。従来通り npm install -g yarn でも導入できます。

yarn と npm、どちらを使うべき?

新規プロジェクトであればどちらでも大きな差はありませんが、既存プロジェクトに yarn.lock または package-lock.json がある場合は、そのロックファイルに合わせたパッケージマネージャーを使うのが安全です。

Yarn Classic(v1)と Berry(v2以降)はどう違う?

Classic は node_modules ベースの従来型、Berry は Plug’n’Play(PnP)によるゼロインストールなど設計が大きく異なります。既存プロジェクトの手順をそのまま使う場合は yarn set version classic で Classic に固定できます。

yarn.lock と package-lock.json が両方あるとどうなる?

ツールによって依存関係の解決結果がずれる可能性があります。どちらか一方に統一し、使わない方のロックファイルは削除しておきましょう。

関連コマンド

  • 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 機能を持ちます。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント