composer.json、composer.lockの違いって、なんなん?という人に向けた説明

composer.jsonとは

composer.jsonはインストールしたいパッケージを JSON形式でまとめていあるところなんです。

必要なパッケージを定義しておいて、インストールの際にrequire内に

書いてあるパッケージをインストールする。

composer.jsonが配置されているディレクトリでcomposer installしすると、require内に書いてあるパッケージがインストールされます。

使いたいライブラリは、composer.jsonに書いていくことで、インストールして、使用できます。

composer.jsonの中身とrequireの解説

requireは使用するパッケージを指定・記入する場所で

require-devは開発するときだけ、使用するパッケージをインストールする場所です。

composer.lockについて

composer installする際に、composer.lockファイルがある場合は

composer.lockに書いてあるバージョンがダウンロードされます。

チームで開発をする際に同じバージョンのものをダウンロードするためのものなので、composer.lockも一緒に渡してあげる必要があります。

まとめ^_^

composer.json composer.lockはほぼ同じものです。

composer installの際にcomposer.lockが優先してダウンロードされるので、

チーム開発の際にバージョンを合わせたいときなどに必要なだけなので、ちょっと覚えてくといいと思います。