-1024x538.png)
この記事を書いた人

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以降) | サポートなし |

082p
・・・
Yarnのインストール
Yarnのインストールにはnpm を使います。
npm をまだインストールしていない方は、以下の記事を参考にNode.jsをインストールしてください。
Node.jsをインストールすればnpmが付属しています。

npmさえインストールしてあれば、Yarnのインストールは簡単です。
ターミナルで以下のコマンドを入力してください。
npm install -g yarn
インストールはすぐ終わります。
以下のコマンドでバージョン確認をして、インストールされているか確認してください。
yarn -v

082p
・・・