【やーん】
Yarn とは?
最終更新:
💡 ライブラリの準備と、依存関係の管理を手伝う道具
JavaScriptの開発で使うパッケージ管理ツール。必要なライブラリや依存関係を管理する。yarn.lockで解決したバージョンを記録し、Modern版ではPlug’n’Playやnode_modulesなど、プロジェクトに合うインストール方式を選べる。
📌 このページのポイント
- JavaScriptのパッケージや依存関係を管理する
- yarn.lockで解決したバージョンを記録する
- Classic版とModern版では設定や機能が違う
- 速さや互換性は、環境と設定に合わせて確認する
Yarnは、何をしてくれるの?
yarn.lockは、何のためにある?
解決したパッケージのバージョンなどを記録するファイルだよ。チームで共有すれば同じ依存関係を使いやすくなる。ただし、OSや実行環境の違いまでなくすものではないんだ。
ClassicとModernは、違うもの?
同じYarnの世代の違いだよ。Classicは1.x、Modernは2以降。設定ファイルやインストール方式が違うので、古い説明をそのまま使わず、プロジェクトのバージョンを確認しよう。
node_modulesが、なくても動くの?
Modern版の既定のPlug’n’Playは、.pnp.cjsというローダーで依存関係の場所を管理するよ。必要ならnode_modules方式も選べる。ツールによって対応状況やエディターの設定が違うんだ。
npmより、いつも速いの?
もっと詳しく知りたい人へ
CIで、yarn.lockが勝手に書き換わるのを防ぐには?
Modern版のyarn install --immutableは、インストールに伴ってロックファイルの変更が必要ならエラーにします。公式資料ではCIで既定の動作です。ロックファイルを共有し、使うYarnのバージョンもそろえましょう。これはOSや外部サービスを含む環境全体の同一性を保証するオプションではありません。
まとめ:ざっくりこれだけ覚えればOK!
「Yarn」って出てきたら「JavaScriptのライブラリをそろえて管理する道具」と思えばだいたいOK!
📖 おまけ:英語の意味
「Yarn」 = JavaScriptのパッケージ管理ツールの名前
💬 このページはJavaScriptのYarnを扱うよ。Apache Hadoopのリソース管理システムYARNとは別のツールなんだ。