Yarn (パッケージ管理ツール)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Yarn
開発元 Various
初版 2016年6月18日 (7年前) (2016-06-18)[1]
最新版
4.1.1[2] ウィキデータを編集 / 4 3月 2024年 (エラー: 最初のパラメータを日付や時間として解析することができません。) (4 3月 2024)
リポジトリ ウィキデータを編集
プログラミング
言語
TypeScript, JavaScript
プラットフォーム クロスプラットフォーム
種別 パッケージ管理システム
ライセンス BSD 2-Clause License
公式サイト yarnpkg.com ウィキデータを編集
テンプレートを表示

Yarnは、主要なJavaScriptパッケージ管理システムの1つであり[3][4]、2016年にMeta(旧Facebook)のSebastian McKenzieによって開発された。Node.jsのJavaScriptランタイム環境向けに作成された。npmパッケージ管理ツールの代替として、Yarnは大規模なコードベースでの一貫性、セキュリティ、およびパフォーマンスの問題を解決するために、Facebook(現在のMeta)、Exponent(現在のExpo.dev)、Google、およびTilde(en:Ember.jsの後援者)の協力によって作成された[5]

機能[編集]

ユーザーはYarn用の独自のプラグインを作成できる。

制約[編集]

Yarnの制約( Constraints )を使用すると、ユーザーは依存関係またはスコープ付きワークスペース全体でのマニフェストフィールドのルールを強制できる。

オフラインキャッシュ[編集]

ダウンロードされたパッケージはキャッシュされ、単一のファイルとして保存される。

Plug'n'Play[編集]

Plug'n'Playは、node_modulesフォルダーなしでNodeプロジェクトを実行できるようにする機能であり、Plug-n-Playコントロールファイルで依存関係パッケージファイルの解決方法や場所を定義する。この機能は、不適切に構造化されたnode_modulesアーキテクチャを修正し、より高速なNode.jsアプリケーションの起動時間を実現することを目的としている。

プラグイン[編集]

プラグインは新しいリゾルバー、フェッチャー、リンカー、コマンドを追加でき、一部のイベントに登録したり、互いに統合したりすることもできる。ほとんどのYarnの機能はプラグインを介して実装されており、これにはyarn addyarn installなども含まれる。

プロトコル[編集]

ユーザーは特定のパッケージを解決するためにどのプロトコルを使用するかを定義できる。たとえば、gitプロトコルはGitリポジトリからパブリックパッケージをダウンロードするために使用され、patchプロトコルは元のパッケージのパッチ適用コピーを作成するために使用される。

リリースワークフロー[編集]

リリースワークフローは、ルートパッケージがアップグレードされたときにモノレポのワークスペース間で相対パッケージを自動的にアップグレードする。

ワークスペース[編集]

ワークスペースを使用すると、複数のプロジェクトを同じリポジトリ内で共同作業させ、ソースコードが変更されたときに他の関連するプロジェクトに自動的に変更を適用できる。インストールコマンドを1回だけ実行して複数のパッケージを一度にインストールすることができる。

ゼロインストール[編集]

ゼロインストールは、コードがローカルに取得されたときにパッケージのインストールが必要な場合のニーズを解決する。

npmとの比較[編集]

  • Yarnはローカルキャッシュからパッケージをインストールできる。
  • Yarnはパッケージのバージョンを強くバインドする。
  • Yarnはデータの整合性を確認するためにチェックサムを使用するが、npmはパッケージのダウンロード時にデータの整合性を確認するためにSHA-512を使用する[6]
  • Yarnはパッケージを並列にインストールするが、npmはパッケージを1つずつインストールする。

構文[編集]

Yarnのインストール方法:
npm install -g yarn
Yarnを使用してパッケージをインストールするには:
yarn add パッケージ名 --dev
註:最初のバージョンでは、以下のようになる:
yarn install パッケージ名 --save-dev

参考文献[編集]

  1. ^ Earliest releases of yarn”. GitHub. 2016年6月18日閲覧。
  2. ^ Release v4.1.1”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  3. ^ Package management basics”. MDN (2022年9月28日). 2024年2月16日閲覧。
  4. ^ 5 best JavaScript Package Managers”. Dunebook.com (2022年2月5日). 2024年2月16日閲覧。
  5. ^ Yarn: A new package manager for JavaScript” (英語). Engineering at Meta (2016年10月11日). 2024年2月16日閲覧。
  6. ^ How To Install and Use the Yarn Package Manager for Node.js”. DigitalOcean (2021年8月10日). 2024年2月16日閲覧。

関連項目[編集]

外部リンク[編集]