この記事を書いた人
082P
現在は、医療系システムエンジニアをやっています。得意言語はRubyですが、仕事柄PHPやJavascriptに触れる機会が多いです。記事に関しては、RubyのRuby on Rails、PythonのDjangoなど、Webアプリケーションおよびデータベース系の記事を書くことが多いです。趣味でゲーム配信とボカロPをやってます。既婚者で子供が2人おります。
Yarnとは?
Yarn は、Node.js のパッケージ管理ツール(パッケージマネージャー)の一つで、主に JavaScript のプロジェクトで使用されます。
npm(Node Package Manager)と似た役割を持ちますが、いくつかの特徴的な機能を備えています。
Yarnの特徴
- パッケージの高速インストール
- Yarn は、依存関係を効率的に管理し、高速にパッケージをインストールします。
- 並列ダウンロードを活用するため、特に依存関係が多いプロジェクトでは npm よりも速い場合があります。
- 確定性(Deterministic Installations)
- Yarn は
yarn.lock
ファイルを生成し、パッケージのバージョンを厳密に固定します。これにより、チーム全体で同じ依存関係が再現可能です。 - npm でも同様の機能 (
package-lock.json
) が提供されていますが、Yarn の方が早期から実装されていました。
- Yarn は
- オフラインモード
- 一度インストールしたパッケージをキャッシュに保存し、ネット接続がない状態でもインストール可能です。
- 高いセキュリティ
- パッケージをインストールする際、インテグリティチェックを行います。
これにより、改ざんされた依存関係がインストールされるリスクを軽減します。
- パッケージをインストールする際、インテグリティチェックを行います。
- プラグインシステム(Yarn 2.x以降)
- Yarn 2.x(Berry)以降、プラグインを使用してカスタマイズ性が向上。
例えば、プロジェクトごとに Yarn の設定を変えることが可能です。
- Yarn 2.x(Berry)以降、プラグインを使用してカスタマイズ性が向上。
Yarn の主な用途
- Node.jsプロジェクトの依存関係管理
JavaScript/TypeScript のプロジェクトで必要なライブラリを簡単にインストールし、バージョンを管理できます。 - フロントエンドフレームワークとの連携
React や Vue.js、Angular のプロジェクトでライブラリを管理。 - モノレポプロジェクトの管理
複数のパッケージを一つのリポジトリで管理する際にも役立ちます(例: Yarn Workspaces)。
Yarn と npm の違い
特徴 | Yarn | npm |
---|---|---|
速度 | 並列ダウンロードで速い | 速度は改善されているが、Yarnの方が速い場合も |
ロックファイル | yarn.lock | package-lock.json |
オフラインモード | サポートあり | 部分的にサポート |
プラグイン | サポート(Yarn 2.x以降) | サポートなし |
Yarn は、依存関係の管理を効率化し、開発環境の再現性を高めるツールです。
npm と互換性があるため、特定のプロジェクトで必要に応じて使い分けられます。
大規模プロジェクトやモノレポ管理に特化した機能がある点で優れているのが特徴です。
Yarnのインストール
Yarnのインストールにはnpm を使います。
npm をまだインストールしていない方は、以下の記事を参考にNode.jsをインストールしてください。
Node.jsをインストールすればnpmが付属しています。
npmさえインストールしてあれば、Yarnのインストールは簡単です。
ターミナルで以下のコマンドを入力してください。
npm install -g yarn
インストールはすぐ終わります。
以下のコマンドでバージョン確認をして、インストールされているか確認してください。
yarn -v
2024年12月現在では、バージョン「1.22.22」がインストールされました。
これでYarnのインストールは終了です!
最後までお読みくださり、ありがとうございました!