[php] composerが300秒でタイムアウトしてしまう

概要

selenium-side-runnerのE2Eテストがあります。composer.jsonのscriptに登録して、ターミナルで実行したら、300秒でタイムアウトしてしまいました。

$ composer e2etest
...
The process "./bin/e2etest.sh" exceeded the timeout of 300 seconds.Code language: plaintext (plaintext)

優先順位1: 環境変数 COMPOSER_PROCESS_TIMEOUT

一時的にタイムアウト秒数を長くするには、環境変数COMPOSER_PROCESS_TIMEOUTに秒数を設定します。

0はタイムアウトなし無制限です。

$ COMPOSER_PROCESS_TIMEOUT=600 composer e2etestCode language: JSON / JSON with Comments (json)

または

$ export COMPOSER_PROCESS_TIMEOUT=600
$ composer e2etestCode language: JSON / JSON with Comments (json)

優先順位2: composer.jsonのconfig

プロジェクトのcomposerのタイムアウトを設定するには、プロジェクトのcomposer.jsonのconfig項目を編集します。

"config": {
     "process-timeout": 600
},Code language: JSON / JSON with Comments (json)

ターミナルで、composer configコマンドを実行することでも、composer.jsonが自動編集されます。

$ composer config process-timeout 600Code language: JSON / JSON with Comments (json)

優先順位3: composer config

ユーザーのcomposerのデフォルトのタイムアウトを設定するには、composer config --globalコマンドで設定します。

$ composer config --global process-timeout 600Code language: JSON / JSON with Comments (json)

Windows10では、AppData\Roaming\Composer\config.json が自動編集されました。

C:> type %USERPROFILE%\AppData\Roaming\Composer\config.json
 {
     "config": {
         "process-timeout": 600}
 }Code language: plaintext (plaintext)

macOSでは、~/.composer/config.json が自動編集されました。

$ cat ~/.composer/config.json 
 {
     "config": {
         "process-timeout": 600}
 }Code language: JSON / JSON with Comments (json)

Ubuntu 18.04では、~/.config/composer/config.json が自動編集されました。

$ cat ~/.config/composer/config.json 
 {
     "config": {
         "process-timeout": 600}
 }Code language: JSON / JSON with Comments (json)

タイトルとURLをコピーしました