Help us understand the problem. What is going on with this article?

circleciでLaravelのプロジェクトのCIが落ちるようになった

今回の問題

10/23まで問題なかったciが10/26に急にこけるようになった。

> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover

In PackageManifest.php line 122:

  Undefined index: name  


Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

Exited with code exit status 1
CircleCI received exit code 1

この問題はLaracastでも報告されている。

原因としては10/24にcomposer2がリリースが影響している。

circleciから提供されるコンテナイメージはcomposerをインストールする際に以下のコマンドを実行している

# Install composer
RUN php -r "copy('https://raw.githubusercontent.com/composer/getcomposer.org/master/web/installer', 'composer-setup.php');" &&     php composer-setup.php &&     php -r "unlink('composer-setup.php');" &&     mv composer.phar /usr/local/bin/composer

解決策

composer self-update --1を実行すると1系に更新されるので .circleci/config.yml のステップに以下を追記。

circlci/config.yml
- run: sudo composer self-update --1

追記

circleciから提供されるDockerイメージには circleci/cimg/ の2種類があり、 circleci/ の方はいわゆる旧世代のためなるべく cimg/ を使うべきです。

こちらのイメージを使っている場合
https://github.com/CircleCI-Public/cimg-php/blob/master/7.4/Dockerfile#L26
に記述があるようにcomposerのバージョンを指定してインストールがされているため、こちらの場合は問題が起こらないようです。

tabtt3
PHPをやっています
yyphp
PHPerが毎週集まり、ざっくばらんに情報交換する雑談コミュニティ
https://yyphp.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away