見出し画像

(備忘録)【yarn】yarn.lockについて

こちらは自分用の備忘録です。

こちらの記事を参考にしました。

1 package.jsonの表記法を学ぶ

スクリーンショット 2021-12-22 17.35.09

ポイント
① yarn addをすることでpackage.jsonのdependenciesが追加
②  先頭によくついている「^」はキャレットという

2 キャレットについて

スクリーンショット 2021-12-22 17.38.19

ポイント
① それ以降のバージョンであり
② メジャーバージョンが変わらない

3 ライブラリの中のさらにpackage.json

ライブラリも別のライブラリに依存している

スクリーンショット 2021-12-22 20.03.52

ポイント
① hogehogeライブラリもfugafugaに依存している
② hogehogeのnode_modulesの中のpackage.jsonに書かれる

4 lockがないと、バージョンが定まらない

「^」(キャレット)の仕組み上、メジャーバージョンが変わらなければそれ以降であればどのバージョンでも良い。

スクリーンショット 2021-12-22 20.07.12

ポイント
・lockがないと、AさんとBさんのバージョンが異なる可能性あり

5 lockによってバージョンが固定

まず

①hogehoge > fugafuga ^3.0.1が必要
②punipuni > fugafuga ^3.2.1が必要

スクリーンショット 2021-12-22 20.10.48

そのため、fugafugaでは両方のキュレットが書いてある。

その結果、version "3.3.1"に決定している。

このlockにより、誰がインストールしても同じバージョンがインストールされ、同じ結果が担保される。


いいなと思ったら応援しよう!

ユウキ
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊