composer.lockはGit管理すべき話

2019年8月28日水曜日

composer

t f B! P L

# 背景

仕事では主にLaravelを使用して開発を行っている。
ソースコードはGitでバージョン管理を行い、composerによるパッケージのバージョン管理をしている。
Aさんが、composer.lockをGit管理したくないとのことで.gitignoreにcomposer.lockを追加した。
果たして、これは良いのか・・・???と疑問になり調べた。

# 結論

結論から言うと、「composer.lockはGit管理すべき」である。

# composer installとcomposer updateの違い

composerには、「composer install」 と 「composer update」というコマンドがある。

# composer.lockの内容をもとにパッケージのインストールを行う
# composer.lockがない場合、composer.jsonに従ってパッケージのインストールを行い、composer.lockを作成する
$ composer install

# composer.jsonの内容をもとに各パッケージの最新化・インストール・composer.lockの更新を行う
$ composer update

ローカル環境を構築する際や、本番環境をデプロイするときは、composer installを使用していると思う。
これは、composer.lockに記されたパッケージバージョン情報などを元に、パッケージのインストールが行われている。
そのため、compsoer.lockをGit管理していない場合、composer updateと同等の挙動となり、
環境によってインストールされているパッケージのバージョンが異なるという状況が生まれる。
バージョン差分による事故を防ぐためにも、composer.lockはGit管理しておきたい。

注目の投稿

composer.lockはGit管理すべき話

# 背景 # 結論 # composer installとcomposer updateの違い # 背景 仕事では主にLaravelを使用して開発を行っている。 ソースコードはGitでバージョン管理を行い、compose...

プロフィール

7年ほど中小企業でSIerとして働いていました。 現在は個人事業主としてPHP, Javascriptの企業案件をメインに受けています。 最近はポケモンカードの開封にはまっています。

アーカイブ

このブログを検索

QooQ