LoginSignup
18

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-10-26

今回の問題

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のバージョンを指定してインストールがされているため、こちらの場合は問題が起こらないようです。

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
18