Yarn (パッケージ管理ツール)
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]。
開発元 | Various |
---|---|
初版 | 2016年6月18日[1] |
最新版 | |
リポジトリ | |
プログラミング 言語 | TypeScript, JavaScript |
プラットフォーム | クロスプラットフォーム |
種別 | パッケージ管理システム |
ライセンス | BSD 2-Clause License |
公式サイト |
yarnpkg |
機能
編集ユーザーはYarn用の独自のプラグインを作成できる。
制約
編集Yarnの制約( Constraints )を使用すると、ユーザーは依存関係またはスコープ付きワークスペース全体でのマニフェストフィールドのルールを強制できる。
オフラインキャッシュ
編集ダウンロードされたパッケージはキャッシュされ、単一のファイルとして保存される。
Plug'n'Play
編集Plug'n'Playは、node_modules
フォルダーなしでNodeプロジェクトを実行できるようにする機能であり、Plug-n-Playコントロールファイルで依存関係パッケージファイルの解決方法や場所を定義する。この機能は、不適切に構造化されたnode_modules
アーキテクチャを修正し、より高速なNode.jsアプリケーションの起動時間を実現することを目的としている。
プラグイン
編集プラグインは新しいリゾルバー、フェッチャー、リンカー、コマンドを追加でき、一部のイベントに登録したり、互いに統合したりすることもできる。ほとんどのYarnの機能はプラグインを介して実装されており、これにはyarn add
やyarn 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
参考文献
編集- ^ “Earliest releases of yarn”. GitHub. Jun 18, 2016閲覧。
- ^ “Release 4.5.1” (18 10月 2024). 27 10月 2024閲覧。
- ^ “Package management basics”. MDN (2022年9月28日). 2024年2月16日閲覧。
- ^ “5 best JavaScript Package Managers”. Dunebook.com (2022年2月5日). 2024年2月16日閲覧。
- ^ “Yarn: A new package manager for JavaScript” (英語). Engineering at Meta (2016年10月11日). 2024年2月16日閲覧。
- ^ “How To Install and Use the Yarn Package Manager for Node.js”. DigitalOcean (2021年8月10日). 2024年2月16日閲覧。