programing

Composer가 300 초 후에 설치 시간이 초과되는 이유는 무엇입니까?

nasanasas 2021. 1. 9. 10:09
반응형

Composer가 300 초 후에 설치 시간이 초과되는 이유는 무엇입니까?


내 서버에서 빌드하려고 할 때 symfony2로 만든 작은 프로젝트가 있는데, symfony 압축을 풀 때 항상 실패합니다. 빌드는 괜찮 았고 갑자기 작곡가가 심포니의 압축을 풀지 않고 아무것도 변경하지 않았습니다. Jenkins로 빌드하고 동일한 결과로 bash에서 수동으로 빌드하려고했습니다. 권한 문제가 아니며 내 서버의 인터넷 연결도 괜찮습니다.

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
 - Installing symfony/symfony (v2.3.4)
 Downloading: 100%
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "unzip '/path/vendor/symfony/symfony/6116f6f3
d4125a757858954cb107e64b' -d 'vendor/composer/b2f33269' && chmod -R u+w 'vendor/composer/b2f33269'" exceeded the timeout of 300 seconds.

시도 composer update/install -o -vvv및 패키지 거세한 숫양 검사는 작곡가의 캐시에서로드되고있다.

그렇다면 composer의 캐시를 지우거나 -cache-dir=/dev/null.

소스를 복제하는 대신 아카이브를 강제 다운로드하려면 --prefer-dist과 함께 옵션을 사용하십시오 --no-dev.

그렇지 않으면 composer의 프로세스 시간 초과 값을 높일 수 있습니다.

export COMPOSER_PROCESS_TIMEOUT=600   ( defaults to 300 )

composer config --global process-timeout 2000

Composer 자체는 원격 git 작업에 허용되는 시간에 제한을 부과합니다. Composer 문서를 살펴보면 환경 변수 COMPOSER_PROCESS_TIMEOUT이이를 제어 함을 확인합니다. 이 변수는 느린 인터넷 연결을 사용하는 대규모 복제 작업에는 충분하지 않은 기본값 인 300 (초)으로 설정됩니다.

다음을 사용하여이 값을 올립니다.

COMPOSER_PROCESS_TIMEOUT=2000 composer install

가장 쉬운 방법은 composer.json 파일에 구성 옵션을 추가하고 프로세스 시간 초과 0을 추가하는 것입니다. 어디서나 작동합니다.

{
  .....
  "scripts": {
    "start": "php -S 0.0.0.0:8080 -t public public/index.php"
  },
  "config": {
    "process-timeout":0
  }
}

작곡가 캐시를 삭제하는 것이 저에게 효과적이었습니다.

rm -rf ~/.composer/cache/*

Symfony 구성 요소에는 기본적으로 60으로 설정된 프로세스 시간 제한이 있습니다. 그래서 다음과 같은 오류가 발생합니다.

[Symfony\Component\Process\Exception\ProcessTimedOutException]     
The process "composer update" exceeded the timeout of 60 seconds. 

해결책

시간 제한을 5 분 이상으로 설정

$process = new Process("composer update");
$process->setTimeout(300); // 5 minutes
$process->run();

It's an old thread but I found out the reason for time out was running a php debugger (PHPStorm was listening to xdebug connections) which caused the process timeout. When I closed the PHPStorm or disabled the xdebug extension, no time out occurred.


old thread but new problem for me. No solutions here were working when trying to install google/apiclient (it failed on google/apiclient-services) on an Ubuntu VM within a Windows 10 host.

After noticing Windows' "antimalware executable" taking up considerable CPU cycles when doing this composer install/update, I disabled "real-time protection" on the Windows 10 machine, and my composer update/install worked!!

Hope that helps someone.


This is the problem slow NFS. Composer write cache into NFS directory. You must install composer globally and rewrite cache path.

This doesnt work:

php composer.phar install

Using this:

composer install

Before this run you must config composer globally. See this https://getcomposer.org/doc/00-intro.md#globally

Also, you must add this lines to your config.json:

"config": {
    "cache-dir": "/var/cache/composer"
}

Works for me.

ReferenceURL : https://stackoverflow.com/questions/18917768/why-composer-install-timeouts-after-300-seconds

반응형