4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Comporserについて

Last updated at Posted at 2023-08-10

引用サイト

以下サイトから引用させていただいております。
https://www.engilaboo.com/about-composer/

Composerとは?

PHPを用いたアプリ開発に必要なライブラリやパッケージをまとめて管理・インストールすることができる。

Composer(パッケージ管理ツール)を使わない場合、必要なパッケージを全て手作業で一つずつインストールする必要がある。

一方でComposerを使うことでコマンド一発で必要なパッケージをすべてインストールすることができます。

メリット

・パッケージのインストールが楽にできる
・チーム開発でパッケージやパッケージのバージョンを統一できる
・パッケージの依存関係を考えなくていい

composer.jsonとcomposer.lockの役割・違いについて

Composerの概要を掴んだところで、composer.jsonおよびcomposer.lockについて解説。

Composerがライブラリやパッケージを管理しているファイルがcomposer.jsonやcomposer.lockです。

どちらも「アプリ開発に必要なライブラリを管理している」という点では同じですが、若干役割が違います。

まず最初に使われるのはcomposer.jsonです。
Composerをインストールし、composer.jsonをアプリのディレクトリに配置して

composer install

をコマンド実行すると、composer.jsonに書かれた情報を基にパッケージやライブラリがvendorディレクトリ配下にまとめてインストールされます。

このとき同時に生成されるのがcomposer.lockファイルです。composer install時に参照したパッケージやパッケージのバージョン情報がcomposer.lockに書き込まれます。

そして二回目以降にcomposer installをしたときは、composer.jsonではなくcomposer.lockを参照します。
つまり、composer.lockがある場合は、composer installをしても、単にcomposer.lockを参照してライブラリをインストールするだけになり、何かパッケージの情報(パッケージの追加とかバージョン情報とか)が書き換わることはないので、混乱しないように注意しましょう。

composer.lockファイルをGit管理してチーム間で共有すればcomposer.lockを手元に落としてきてcomposer installをするだけで、チームでバージョン等を統一した状態で必要なパッケージをアプリにインストールすることができます。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?