PR

ERROR: Basic validation for ‘composer.json’ failed! の解決法

アイキャッチ画像
remote:  !     ERROR: Basic validation for 'composer.json' failed!
remote:  !     
remote:  !     It must be a valid JSON document compatible with Composer.
remote:  !     
remote:  !     You most likely created or edited the file by hand, and it now
remote:  !     contains a syntax error. Please refer to the documentation at
remote:  !     https://getcomposer.org/doc/ for information on the format.
remote:  !     
remote:  !     You can run 'composer validate' locally on your computer for
remote:  !     further diagnosis. Remember to also always keep your lock file
remote:  !     up to date with any changes according to the instructions at
remote:  !     https://getcomposer.org/doc/01-basic-usage.md

エラー発生時

Herokuにデプロイしようとコマンドを叩いたとき。

原因

composer.jsonの手修正した部分が文法ミスしている。

解決法

GitHubでコミット履歴を見る。

×印が付いてエラーが出ていることを確認し、×印をクリックすると画像のようにウィンドウが出てくるので、Detailsをクリック。

CircleCIで、エラーが発生している箇所を確認する。

手修正した部分に無駄なカンマを書いていた模様。

カンマを削除してコミットしてからコマンドを叩くと無事デプロイできました。

教訓

手修正したと書きましたが、厳密には手修正しようとしてやっぱり元に戻したつもりが無駄なカンマを書いてしまった、という感じです。

連想配列などで、

[
    'a' => $a,
    'b' => $b,
    'c' => $c,
]

このように最後の配列にもカンマを書く癖があり、この場合はエラーが出ないので、ついcomposer.jsonにもカンマを書いたらエラーが出てしまいました。

フォイルを元に戻すときは’git diff’コマンドなどを使って、正確に戻すようにしましょう。

以上、『ERROR: Basic validation for ‘composer.json’ failed! の解決法』でした。