편집 : 결론 : 여기에 나열된 해결책이 없거나 일반적으로 방탄으로 보입니다. 궁극적으로 도움이되는 것은 일반적으로 composer를 점진적으로 사용하는 것입니다. composer require
, composer remove
명령을 사용하여 한 번에 하나의 패키지 만 요구하거나 제거 하는 것은 "비 종속성 특정"설정을 추가하는 것과 관련이 있습니다. 모든 라이브러리는 업데이트를 위해 추가 / 제거 할 수 있습니다. composer.json 잠금 캐시 구성을 새로 고칩니다.
여기와 질문에 연결된 답변으로 내 경험을 그룹화합니다.
이전에 나는 이번에이 질문에 언급 된 모든 단일 솔루션을 시도했습니다. 그러나 다른 단일 라이브러리를 설치하는 것이 상당히 빠르다는 것을 시도했거나 알아 차 렸지만 여전히 도움이되지 않았기 때문에 병목 현상을 일으킬 수있는 라이브러리를 하나씩 조사했습니다.
1) 예 그리고 나는 그것을 codeception으로 찾았습니다."codeception/codeception": "2.4.0",
다른 라이브러리와 함께 실행하는 것은 거의 12 분 동안 실행되는 것처럼 보였지만 거의 200 초가 소요되었습니다. 또한 composer는 20 초 동안 시작한 후 0.35 초 동안 실행되는 등을 출력 할 때 실시간을 반영하지 않는 것 같습니다.
[374.9MiB/173.14s] 39/45: https:
[374.9MiB/173.16s] 40/45: https:
[374.9MiB/173.17s] 41/45: https:
[374.9MiB/173.19s] 42/45: https:
[374.9MiB/173.20s] 43/45: https:
[374.9MiB/173.23s] 44/45: https:
[374.9MiB/173.24s] 45/45: https:
[374.9MiB/173.24s] Finished: success: 45, skipped: 0, failure: 0, total: 45
[374.8MiB/173.25s] Analyzed 6622 packages to resolve dependencies
[374.8MiB/173.25s] Analyzed 435842 rules to resolve dependencies
[374.8MiB/173.25s] Package operations: 54 installs, 0 updates, 0 removals
[374.8MiB/173.26s] Installs: sebastian/recursion-context:3.0.0, sebastian/exporter:3.1.2, doctrine/instantiator:1.3.0, phpunit/php-text-template:1.2.1, phpunit/phpunit-mock-objects:6.1.2, codeception/stub:1.0.4, sebastian/diff:3.0.2, sebastian/comparator:3.0.2, theseer/tokenizer:1.1.3, sebastian/version:2.0.1, sebastian/environment:3.1.0, sebastian/code-unit-reverse-lookup:1.0.1, phpunit/php-token-stream:3.1.1, phpunit/php-file-iterator:1.4.5, phpunit/php-code-coverage:6.0.5, sebastian/object-reflector:1.1.1, sebastian/object-enumerator:3.0.3, sebastian/global-state:2.0.0, phpunit/php-timer:2.1.2, symfony/polyfill-ctype:v1.17.0, webmozart/assert:1.8.0, phpdocumentor/reflection-common:2.1.0, phpdocumentor/type-resolver:1.1.0, phpdocumentor/reflection-docblock:5.1.0, phpspec/prophecy:v1.10.3, myclabs/deep-copy:1.9.5, sebastian/resource-operations:1.0.0, phar-io/version:1.0.1, phar-io/manifest:1.0.1, phpunit/phpunit:7.1.5, codeception/phpunit-wrapper:7.6.1, symfony/yaml:v4.4.8, behat/gherkin:v4.6.2, symfony/polyfill-mbstring:v1.17.0, symfony/dom-crawler:v4.4.8, symfony/css-selector:v4.4.8, symfony/browser-kit:v4.4.8, symfony/event-dispatcher-contracts:v1.1.7, psr/container:1.0.0, symfony/event-dispatcher:v4.4.8, symfony/service-contracts:v2.0.1, symfony/polyfill-php73:v1.17.0, symfony/console:v4.4.8, symfony/finder:v4.4.8, ralouphie/getallheaders:3.0.3, psr/http-message:1.0.1, guzzlehttp/psr7:1.6.1, guzzlehttp/promises:v1.3.1, symfony/polyfill-php72:v1.17.0, symfony/polyfill-intl-idn:v1.17.0, guzzlehttp/guzzle:6.5.3, symfony/process:v4.4.8, facebook/webdriver:1.7.1, codeception/codeception:2.4.0
[374.8MiB/173.28s] - Installing sebastian/recursion-context (3.0.0): [374.9MiB/173.28s] Loading from cache[374.9MiB/173.28s]
[374.9MiB/173.28s] Extracting archive[374.9MiB/173.51s] - Installing sebastian/exporter (3.1.2): [374.9MiB/173.52s] Loading from cache[374.9MiB/173.52s]
[374.9MiB/173.52s] Extracting archive[374.9MiB/173.75s] - Installing doctrine/instantiator (1.3.0): [374.9MiB/173.76s] Loading from cache[374.9MiB/173.76s]
[374.9MiB/173.76s] Extracting archive[374.9MiB/174.00s] - Installing phpunit/php-text-template (1.2.1): [374.9MiB/174.00s] Loading from cache[374.9MiB/174.00s]
[374.9MiB/174.00s] Extracting archive[374.9MiB/174.23s] - Installing phpunit/phpunit-mock-objects (6.1.2): [374.9MiB/174.23s] Loading from cache[374.9MiB/174.23s]
[374.9MiB/174.23s] Extracting archive[374.9MiB/174.55s] - Installing codeception/stub (1.0.4): [374.9MiB/174.56s] Loading from cache[374.9MiB/174.56s]
[374.9MiB/174.56s] Extracting archive[374.9MiB/174.80s] - Installing sebastian/diff (3.0.2): [374.9MiB/174.80s] Loading from cache[374.9MiB/174.80s]
[374.9MiB/174.80s] Extracting archive[374.9MiB/175.07s] - Installing sebastian/comparator (3.0.2): [374.9MiB/175.07s] Loading from cache[374.9MiB/175.07s]
[374.9MiB/175.07s] Extracting archive[374.9MiB/175.33s] - Installing theseer/tokenizer (1.1.3): [374.9MiB/175.33s] Loading from cache[374.9MiB/175.33s]
전에 실행
Problem 1
- Installation request for codeception/codeception 2.4.0 -> satisfiable by codeception/codeception[2.4.0].
- Conclusion: remove symfony/finder v5.0.8
- Conclusion: don't install symfony/finder v5.0.8
- codeception/codeception 2.4.0 requires symfony/finder >=2.7 <5.0 -> satisfiable by symfony/finder[v2.7.0, v2.7.1, v2.7.10, v2.7.11, v2.7.12, v2.7.13, v2.7.14, v2.7.15, v2.7.16, v2.7.17, v2.7.18, v2.7.19, v2.7.2, v2.7.20, v2.7.21, v2.7.22, v2.7.23, v2.7.24, v2.7.25, v2.7.26, v2.7.27, v2.7.28, v2.7.29, v2.7.3, v2.7.30, v2.7.31, v2.7.32, v2.7.33, v2.7.34, v2.7.35, v2.7.36, v2.7.37, v2.7.38, v2.7.39, v2.7.4, v2.7.40, v2.7.41, v2.7.42, v2.7.43, v2.7.44, v2.7.45, v2.7.46, v2.7.47, v2.7.48, v2.7.49, v2.7.5, v2.7.50, v2.7.51, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.1, v2.8.10, v2.8.11, v2.8.12, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19, v2.8.2, v2.8.20, v2.8.21, v2.8.22, v2.8.23, v2.8.24, v2.8.25, v2.8.26, v2.8.27, v2.8.28, v2.8.29, v2.8.3, v2.8.30, v2.8.31, v2.8.32, v2.8.33, v2.8.34, v2.8.35, v2.8.36, v2.8.37, v2.8.38, v2.8.39, v2.8.4, v2.8.40, v2.8.41, v2.8.42, v2.8.43, v2.8.44, v2.8.45, v2.8.46, v2.8.47, v2.8.48, v2.8.49, v2.8.5, v2.8.50, v2.8.52, v2.8.6, v2.8.7, v2.8.8, v2.8.9, v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.2.0, v3.2.1, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.3.0, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.17, v3.3.18, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.3, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.37, v3.4.38, v3.4.39, v3.4.4, v3.4.40, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v4.0.0, v4.0.1, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8].
- Can only install one of: symfony/finder[v2.7.0, v5.0.8].
- Can only install one of: symfony/finder[v2.7.1, v5.0.8].
- Can only install one of: symfony/finder[v2.7.10, v5.0.8].
- Can only install one of: symfony/finder[v2.7.11, v5.0.8].
2) YES Btw, 내가 언급했듯이 prestissimo는 이미 적용되었으며 코딩없이 훨씬 빠른 인터넷을 제공하는 또 다른 매우 빠른 컴퓨터에서 설치에 5 배, 518 초가 걸렸지 만 아마도 prestissimo 또는 기타 조언으로 인해 여기에서는 110 초가 걸렸습니다.
composer global require hirak/prestissimo
3) 예 Windows는 느리고 Windows에서 Linux로 가상화 된 폴더도 느립니다. Linux 내부의 공유 폴더 외부에서 실행하면 속도가 약 두 배로 빨라졌습니다. 캐시로 인한 것일 수 있지만.
4) 아니요
"process-timeout": 1800,
git checkout과 같은 단일 프로세스 당이며 이미 상당히 거대했기 때문에 10 초로 설정해도 전혀 도움이되지 않는 것 같습니다. 일부 서비스가 완전히 중단 된 경우에만 도움이 될 수 있습니다.
5) 예 , 공급 업체 폴더를 제거하거나 비어있는 상태로 설치하는 경우 = 공급 업체 파일 및 그 안에 존재하는 다른 패키지를 추가하는 것보다 새로 설치하는 것이 상당히 빠릅니다 (약 1 분 이상).
6) 예 는 Xdebug 자체 이미지가없는 Ubuntu18 apache2에서 더 느린 것 같습니다. Debian10 php-fpm에서 xdebug를 Yii2-starter-kit에서 사용하더라도 어떤 이유로 cat /etc/*-release
Linux 배포판을 찾으려면 약 두 배 느립니다.
7)
php -ddefault_socket_timeout=1 /usr/local/bin/composer --verbose --profile install
여기에 언급 된 내용은 --prefer-dist 플래그에도 불구하고 작성기 종속성의 느린 업데이트에 도움이되지 않는 것 같습니다
.
8) 아니요 zip 설치는 도움이되지 않는 것 같습니다. PHP 설치에는 zip이 미리 설치되어 있습니다. Linux 패키지로 설치 될 때까지 여전히 존재하지 않는다고 불평했지만 단일 시뮬레이션에서 프로세스를 650 초에서 750 초로 100 초 느리게 만들었습니다. 동일한 환경 조건.
As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension
https://stackoverflow.com/a/51208804/3419535
캐시없는 조건에서 테스트--no-cache
9) 예 제거 "minimum-stability ": "dev",
10) YES 사용을 선호 - 거리 composer require robmorgan/phinx:@dev --prefer-dist -vvv --profile
(A 예로 들어 명령을 필요로 사용하여, 대신 설치 명령을 통해 전체 설치의, 최초의 위에서 언급 한 바와 같이 부분적인 명령을 필요로 사용하는 등, 가장 중요한 속도 향상 중 하나 플러스 필요로하는 것 같다 @ dev- minimum-stability: dev
모든 종속성에 일반적으로 적용되지 않을 때 이전 포인트 를 따라 케이스 (종속성) 기준으로 사용하면 무해한 것 같습니다.)