package.json , package-lock.json

長らくわかっていなかったこれらの違い、そのままにしてしまっていたが、今回機会あって教えていただいたので、メモ。

・package.json

まず、package.json。

これは、'npm install'を実行した時に使われるファイルで、これを基にpackage-lock.jsonが作られる。各npmのバージョンが何以上である必要があるかが書いてある。

使っているnpmがすべて書いており、ひと目で見るにはpackage-lock.jsonよりこちらの方が見やすい。

その他スクリプトを保存しておく場所としても使われている。
※このあたりはまだ曖昧

・package-lock.json

こちらは、package.jsonを基に作られ、各npmの確定したバージョンを記録しておく場所。

package.jsonでは、各npmのバージョンが何以上かしか書いていないが、package-lock.jsonには'npm install'した時にインストールしたバージョンが記載される。

コンパイルする際には、package-lock.jsonが使用される。

基本的にはどちらもgithubなどに上げる。
package-lock.jsonを更新していないと記載されているnpmのバージョンが古くなっていることもある。




この記事が気に入ったらサポートをしてみませんか?