yarn
https://gyazo.com/3f717c051af6635441387ee143feddb8
はやい
v2以降(berry)
新機能
yarn dlx
早い
デフォルト構成で容量減ラスようにした
アーキテクチャ刷新
migration
依存
node v12〜
Zero-installというワークフローがオプショナルで増えた
yarn installはなるべく同じ状態にしようとはしてるが、できない可能性もある(yarn固有の問題ではない)
yarnの将来のバグスによってインストールができなくなるかも
ネットワーク障害でパッケージが利用できなくなる
権限変更でyarn installで一時ディレクトリに書き込めなくなるかも
認証の問題でがあるかも
言われてるのは一般的なものよりも高度な起こりうる事象kadoyau.icon
将来的にこっちに移行すると言うわけではないらしい
gitignoreがこれを有効に空くかどうかで異なる
Plug'n'Playを使って、cacheフォルダーを介して依存関係を解決する(node_modulesは使わない) cacheはyarn/cacheに入る
Q. クソでかいnode_modulesを入れるのと同じでは?
A. 全然違うよ!
非圧縮の135kのnode_modulesはyarn/cacheでは2k binary archiveになる
2kならgitは問題ないでしょ
パッケージごとに変更されたファイルが1つだけ生成される
checksumをとるのも簡単なのでセキュアにもなる
悪意のあるユーザーがcacheを入れてきたら?
CIでyarn install --check-cacheをしてチェックしておく
2019-02-10現在、ReactやVue、Styled-compopnentやMastodonはyarnを使っている
Githubのリポジトリをみるとyarn.lockが存在している
npmとは依存グラフの作り方がちがうらしく、直接的な互換性はない(yarn.lockはpackage-lock.jsonではない)
グローバルに入れたい
yarn global add PACKAGE
v2にする
yarn set version berry
バージョンを戻したい
yarn set version classic
yarn set version classic
v1は開発停止している
yarnのインストール
バージョンを揃える
yarn policies set-version