このページ内容は2021年1月21日以降、再調査・再検証してません。実際に扱う際は最新の情報にアクセスしてください。
バージョン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{23}
その他にもnpx相当のyarn dlxコマンドや新しいインストールモードのpnpmなどが追加されています。詳しくはyarnのメンテナが書かれたブログを参考にしてください。yarn3.0yarn_30, yarn 3.1yarn_31。
ちなみに、バージョン切り替えは以下のようにして簡単に切り替えできますyarn_check_version。実施するときはberryからyarn1.xに戻すために、実行前にyarnのバージョンを確認しておくことをお勧めします。
1# 現在のバージョン確認 (元のバージョンに戻すときに必要なのでメモしておきます)2$ yarn --version31.22.174# berryに切り替える5$ yarn set version berry6# 元のバージョンに戻す7$ yarn set version 1.22.17