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
'programing' 카테고리의 다른 글
iPhone 설정에 설정 번들이 표시되지 않음 (0) | 2021.01.09 |
---|---|
자바 스크립트 : 객체 리터럴 값 반복 (0) | 2021.01.09 |
Javascript 문자열은 정규식으로 대체하여 잘못된 문자를 제거합니다. (0) | 2021.01.09 |
정수를 로마 숫자로 변환 (0) | 2021.01.09 |
Rails 콘솔에서 마이그레이션 실행 (0) | 2021.01.09 |