CircleCIでテストを実行しましたが、ファイルが見つからないエラーが起きたので解決法をまとめました。
とてもシンプルなエラーです。
結論から言うと、指定したファイルがリポジトリ直下に無かった事が原因でした。
##1. 前提
CircleCIと連携させたときに自動で作られたconfig.ymlをそのまま実行しました。
エラー1:Restoring cache
error computing cache key: template: cacheKey:1:19: executing "cacheKey" at <checksum "composer.json">: error calling checksum: open /home/circleci/project/composer.json: no such file or directory
エラー2:composer install -n --prefer-dist
#!/bin/bash -eo pipefail
composer install -n --prefer-dist
Composer could not find a composer.json file in /home/circleci/project
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Exited with code exit status 1
CircleCI received exit code 1
どちらのエラーもcomposer.jsonが見つからないと言っています。
##3. 解決方法
ファイルのある場所を指定してあげる。
どちらにも、composer.jsonがあるフォルダ(src/)を指定してあげました
・ エラー1の解決法
もともと"composer.json"
だったところを"src/composer.json"
と変更しました。
- restore_cache:
keys:
# "composer.lock" can be used if it is committed to the repo
- v1-dependencies-{{ checksum "src/composer.json" }}
・ エラー2の解決法
こちらにはworking_directory: src
の一行を追加して、実行場所を指定してあげました。
- run:
working_directory: src
command: composer install -n --prefer-dist
これで無事にテストできるようになりました。