composer.jsonのprocess-timeoutでComposerの外部コマンドタイムアウトを伸ばせる

  • PHP
  • Composer

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

Composerでインストールやアップデート中に処理が途中で止まることがあった。原因はComposerが内部で叩いている外部プロセス(gitのcloneなど)のタイムアウトだった。

設定方法

composer.json の config に process-timeout を書く。

{
"config": {
"process-timeout": 3000
}
}

単位は秒。上の例だと3000秒、つまり50分になる。

デフォルトと挙動

  • デフォルトは300秒(5分)
  • 大きいリポジトリのclone や、パッケージ数が多いインストールで5分を超えると失敗するケースがあり、そこで伸ばす用途
  • 0 を指定するとタイムアウトなし(無制限)になる

とりあえず大きめのリポジトリを扱うプロジェクトでは、process-timeout を明示的に伸ばしておくとタイムアウト起因の失敗は減らせそうだ。