このページ内容は2021年1月21日以降、再調査・再検証してません。実際に扱う際は最新の情報にアクセスしてください。

link
Berry

バージョン2以降のyarnのことをBerryと呼びます。機能が大きく変わっているため名前が変わりました。パッケージを.yarnフォルダでキャッシュするようになり、yarn1よりも高速でパッケージのインストールやビルドができるようになりました。ちなみに、.yarnフォルダはgit管理を推奨されています (サイズも小さいです)。

またBerryの掲げる目標として、ゼロインストールberry_zero_installという状態があります。これは、プロジェクトをクローンしたら、すぐに動かせるようになる状態のことです。yarn1のときはnpmレジストリから必要なパッケージをnode_modulesにインストールしていましたが、Berryは.yarnフォルダのキャッシュから依存関係を解決するようになります。つまり、ネットに繋がってなくても依存関係を解消でき、プロジェクトを動かすことができます。

このように、yarnのバージョンがプロジェクトごとに変わるような状況が出てくるため、yarn3.1からはパッケージマネージャーのバージョン管理ツール Corepackcorepackを組み込むようになりました。これはpackage.jsonにpackageManagerという項目を付けることで、特定バージョンのパッケージマネージャーのみしか動かせないように制限するものです。

1
{
2
"packageManager": "[email protected]"
3
}

その他にもnpx相当のyarn dlxコマンドや新しいインストールモードのpnpmなどが追加されています。詳しくはyarnのメンテナが書かれたブログを参考にしてください。yarn3.0yarn_30, yarn 3.1yarn_31

ちなみに、バージョン切り替えは以下のようにして簡単に切り替えできますyarn_check_version。実施するときはberryからyarn1.xに戻すために、実行前にyarnのバージョンを確認しておくことをお勧めします。

1
# 現在のバージョン確認 (元のバージョンに戻すときに必要なのでメモしておきます)
2
$ yarn --version
3
1.22.17
4
# berryに切り替える
5
$ yarn set version berry
6
# 元のバージョンに戻す
7
$ yarn set version 1.22.17

自己紹介
はじめまして Pilefortです。
東京でエソジニアをしてます。
興味のあるスタックは、JavaScript (React, Vue), TypeScript, Rust, WebAssembly, AWS, Pulumi, Serverless Frameworkです。
このブログでは、普段の業務や趣味で気になったことをまとめたり、フロントやAWS, GitHubやTwitterで見かけた面白い記事やニュースをまとめるためのものです。少しでも何かの役に立てば幸いです。
サイトマップ
Notes
業務や趣味での気づき・メモ
Snippets
記事にするまでもないけど、便利なコマンドや豆知識
Works
同人誌一覧