はじめに
この記事を読む前にpackage.jsonファイルがどんな役割を持っているか、知っている事が前提知識として必要になります。
詳しくは解説してないので、詳しい記事を見たい方は別のを探してください。あくまで入門〜初級者向けの概要程度でシンプルに説明しています。
目次
package-lock.json, yarn.lockとは
ざっくり解説すると、チーム開発をする際にチームメンバーでライブラリ等のバージョンを統一する際に必要になるファイルです!!
下記でpackage-lock.jsonファイルが「有る場合」と「無い場合」で比較をしています。
package-lock.jsonファイルが有る場合
①npm installを実行
②package-lock.jsonに記載されたバージョンでライブラリをインストールする。
③チーム開発の場合、開発メンバー全員が同じバージョンのライブラリで開発ができる。
※Gitでpackage-lock.jsonファイルを共有している為、チームメンバー全員が同じpackage-lock.jsonファイルを元に同じバージョンでライブラリをインストールできます。
package-lock.jsonファイルが無い場合
①npm installを実行
②package.jsonに記載されたバージョンの範囲内で最新バージョンのライブラリをインストール。
※pacage.jsonだけだと、pacage.jsonに記載されている最新版のバージョンでインストールしてしまう為、各々の開発メンバーがインストールしたタイミング次第では、チーム内でライブラリのバージョンに違いが出てしまう。
③チームメンバー同士でnpm installのタイミングが異なり、インストールしたライブラリのバージョンがチームメンバー内で異なる状況ができてしまう。
yarn.lockとは
package-lock.jsonと同じ役割を持つファイル。
主な違いは、npm installではなく、yarn installを実行した場合に参照するファイルであるという点です。
・npm install
→ package-lock.jsonファイル
・yarn install
→ yarn.lockファイル