はじめに

Git を使った開発をしていて composer.lockcontent-hash でコンフリクトが発生した時の解決方法のメモ。

TL;DR

  • composer.lockcontent-hash のコンフリクトは以下で解決できる
    • content-hash のどちらかを残す
    • composer update --lock を実行

目次

  1. はじめに
  2. TL;DR
  3. 環境・条件
  4. 詳細
  5. まとめ
  6. その他・メモ
  7. 参考文献

環境・条件

1
2
3
4
5
6
7
8
9
10
11
12
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G95

$ php -v
PHP 7.1.23 (cli) (built: Feb 22 2019 22:19:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

$ composer -V
Composer version 1.9.0 2019-08-02 20:55:32

詳細

チーム開発していると composer.lockcontent-hash でコンフリクトすることがある。

コンフリクトした場合、以下の手順で解決できる。

  1. どちらでも良いので、片方の content-hash のみ残す。(次の手順で上書きされるので、どっちを選んでも良い)
1
2
3
4
5
<<<<<<< HEAD
"content-hash": "00000000000000000000000000000000",
=======
"content-hash": "11111111111111111111111111111111",
>>>>>>> develop
  1. composer update --lock を実行する。
1
2
3
4
5
6
7
$ composer update --lock
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating optimized autoload files
...

まとめ

  • composer.lockcontent-hash のコンフリクトは以下で解決できる
    • content-hash のどちらかを残す
    • composer update --lock を実行

その他・メモ

npm でも似たような話をまとめた。

Git で package-lock.json がコンフリクトした時の解決方法

参考文献

関連記事