PHP Composer가 왜 그렇게 느린가요?


99

종속성이없는 프로젝트를 초기화하기 만하면 PHP Composer 가 느린 이유는 무엇 입니까? 내가 실행하는 명령은 다음과 같습니다.

composer init

<composer.json 생성 단계, 0 0 종속성 정의>

composer install

3 분 동안 기다립니다 (과장 아님).

작곡가가해야 할 일은 오토로더를 /vendor가져 와서를 만드는 것인데 , 왜 그렇게 오래 걸리나요? 그 문제에 대해 왜 그 단계가 일어나지 composer init않습니까?

캐시 된 autloader 및 공급 업체를 가져 오는 데 사용할 수있는 구성 옵션이 init있습니까?


1
더 진지하게 : 지난 30 일 동안 작곡가를 업데이트 했습니까? 코드의 주요 성능 향상은 지난달이 있었다
마크 베이커

compose install5 분 이상 전에 시작 했는데 아직 완료되지 않았습니다. Composer version 1.0-dev (07c644ac229a21df80180598d8bb9aaba232eecb) 2015-02-03 12:51:10. 최신 버전은 아니지만 IBM 메인 프레임보다 더 최신 버전
axiac

당신이 한 확인하시기 바랍니다composer self-update
sjagr의

지난주에 업데이트했습니다.
AgmLauncher

저는 작곡가 업데이트와 작곡가 자체 업데이트가 엄청나게 느려서 고생했습니다. 15 분 이상 걸리고 예외가 발생합니다. 라우터 DNS 서버 (Google 서버에서 ISP 서버로)를 변경했고 작곡가가 매력적으로 작동했습니다.
고든 Hickley

답변:


43

또한 Xdebug를 비활성화하십시오 . Xdebug는 .NET Framework와 같이 간단한 명령을 실행할 때도 Composer에 몇 분 정도 걸릴 수 있습니다 composer --version.


1
이것은 실제로 내 문제로 밝혀졌습니다. Xdebug는 작곡가를 매우 느리게 실행합니다.
AgmLauncher

hirak / prestissimo를 사용해보십시오. 빠른 템포로 패키지를 다운로드하는 데 도움이되는 작곡가 플러그인입니다. 링크
Ritesh Chitrakar

3
글을 쓰는 시점에서 나는 2020/2019 년에 composer가 실행할 때 xdebug를 자동으로 비활성화했기 때문에 디버그 여부에 관계없이 동일한 성능을 보였습니다. yii2-starter-kit을 설치하는 데 약 200 초가 걸렸음에도 불구하고 xdebug,
따라서이

이것을 봤고, 내 디버거를 뽑았다. xdebug가 FPM 전용으로 구성되었지만 CLI가 시작했고 IDE가 나를 기다리는 중단 지점에 앉아 있다는 것을 알았습니다. 계속 버튼을 누르고 작곡가가 다시 들어 왔습니다.
ppostma1

377

Composer는 file_get_contents(). TCP 최적화, Keep-Alive, 멀티플렉싱 등이 없습니다.

패키지를 병렬로 다운로드하기 위해 Composer 플러그인을 만들었습니다 : https://packagist.org/packages/hirak/prestissimo

$ composer global에는 hirak / prestissimo가 필요합니다.

시도해주세요. 내 환경에서는 composer install10 배 빨라집니다.


와우 새로운 라 라벨 프로젝트를 설치하는 데 124 초가 걸렸지 만 21 초로 단축되었습니다. 그것을 사랑하십시오!
cornips

7
좋은 소식 : 이것은 2019 년 1 월에 Composer 2에 병합 된 것으로 보입니다 : github.com/composer/composer/pull/7904
Chuck Le Butt

@ChuckLeButt하지만 아직 시야에서 릴리스 :(
hejdav

고마워 형제여. 20 배 더 빠릅니다.
Ilyas karim

61
  1. 최신 버전의 Composer가 있는지 확인하십시오.
  2. 예를 들어 -vvv를 추가하여 상세 모드로 설치합니다. composer global require "squizlabs/php_codesniffer=*" -vvv
  3. 예를 들어 Composer가 느려진 곳을 찾을 수 있다면 패키지를 다운로드 할 때 5 분 동안 멈췄습니다. 50Mbit / s 연결에서 20kB 파일을 다운로드하는 데 5 분 이상 걸렸습니다. 이는 HTTPS가 아닌 HTTP를 사용하여 packagist에서 패키지를 다운로드했기 때문입니다. 구성을 변경하여 문제가 해결되었습니다. composer config --global repo.packagist composer https://packagist.org

3
저는 작곡가가 처음이고이 문제를 2 일 동안 수정하려고합니다. 댓글을 읽고 -vvv를 추가하면 드디어 작동합니다. 1000 upvotes
Huy Trịnh

# 3는 나를 위해 그것을 해결했습니다. 당신은 지금 나의 영웅입니다. 왜 그렇게 느리고 일부 인터넷 연결에서만 작동하는지 꽤 오랫동안 걱정했습니다. 고마워!
Andreas Schantl

composer config --global repo.packagist composer https://packagist.org 그게 뭐야! 대박! 🏆
Rishi Kulshreshtha

13

여기도 마찬가지입니다. "composer install --profile -vvv"에서 자세한 내용을 확인하십시오. 제 경우에는 몇 개의 JSON 파일을 다운로드하는 데 오랜 시간이 걸립니다. 내 서버에 캐시되지만 Composer 업데이트 / 설치 호출마다 계속 다운로드됩니다.

... 30 분 후 ...

@ packagist.org의 성능 문제처럼 보입니다. 이제 Composer 설치가 2 초 이내에 실행됩니다! 그리고 다운로드 한 JSON 파일은 제대로 캐시됩니다.


1
"그들은 내 서버에 캐시되지만 여전히 모든 작곡가 업데이트 / 설치 호출과 함께 다운로드됩니다."THIS !! 이 문제에 대한 해결책을 찾았습니까? 나는 연결이 느리고 그것을 보는 것이 끔찍합니다.
lud

9

나는이 문제에 직면하고 있었고 내 컴퓨터에 Xdebug를 설치하지 않았기 때문에 곡선을 그리워했습니다. IPv6 주소 지정 모드 오류 로 밝혀졌습니다 . 그래서 테스트하기 위해

curl --ipv4 'https://packagist.org/packages.json'
curl --ipv6 'https://packagist.org/packages.json'

IPv4는 통과했지만 IPv6는 실패했습니다. 결국 네트워킹 스택이 지원하지 않는 이유를 찾아야하지만 제 경우에는 해결할 수있을 때까지 IPv4 트래픽을 우선적으로 사용하기로 결정했습니다. 에 CentOS는 내가 만든 / 파일 /etc/gai.conf에 수정하고 다음에 넣어 :

label       ::1/128        0
label       ::/0           1
label       2002::/16      2
label       ::/96          3
label       ::ffff:0:0/96  4
precedence  ::1/128        50
precedence  ::/0           40
precedence  2002::/16      30
precedence  ::/96          20
precedence  ::ffff:0:0/96  100

Ubuntu에서는 해당 파일을 편집하고 줄의 주석 처리를 제거 할 수도 있습니다.

precedence ::ffff:0:0/96  100

Rackspace Community Hub의 소스


참고로, 이것이 원인이 될 수있는 모든 옵션을 확인하기 위해 다시 시뮬레이션해야하지만 개인적으로 도움이되지 않는 것 같습니다.
FantomX1

@ FentomX1 유감입니다. 그것이 내가 테스트를 맨 위에 포함시킨 이유입니다. 컬 테스트를 모두 수행하고 연결 중이라면 네트워크가 올바르게 설정 되었기 때문에 변경해서는 안됩니다.
Aaron Chamberlain

1
Windows 10에서이 작업을 수행하는 방법을 보여주는 짧은 YouTube 비디오를 찾았습니다. 문제가 해결되었습니다. youtube.com/watch?v=63Lt_vlNWLc
Marcus

5

Ubuntu Xenial 16.04 VPS에서 다음을 수행해야합니다.

sudo sh -c "echo 'precedence ::ffff:0:0/96 100' >> /etc/gai.conf"
composer global require hirak/prestissimo

IPv6보다 IPv4를 기본으로 구성합니다.

/server/93717/setting-ipv4-as-preferred-protocol-over-ipv6


prestissimo를 설치했기 때문에 작곡가의 속도가 뛰어났습니다.
Big Tree

3
나는이 솔루션도 우분투 18.04LTS를 위해 작동하는지 확인할 수 있습니다
mwangaben

다른 사람들이 배울 수 있도록 답변에 대한 설명을 추가하십시오. 첫 번째 줄은 무엇을합니까?
Nico Haase

@NicoHaase 타임 스탬프를 보면이 답변은 실제로 제가 설명한 문제에 대한 응답이지만 댓글로 넣지 않았습니다. 어쨌든 내 대답에 통합했습니다. 패 키스트는 IPV6 사용을 선호하는 것 같지만 일부 네트워크는 여전히 잘 작동하지 않습니다. 첫 번째 줄은 당신의 리눅스 머신이 IPv4 주소를 선호하고 그 주소를 먼저 찾도록 만듭니다.
Aaron Chamberlain

1

제 경우에는 제가 실행하던 작곡가 버전이 이전 버전이었습니다. 작곡가 버전 자체를 업데이트 한 후 문제가 사라졌습니다.

작성기 버전을 업데이트하려면 다음을 실행하십시오.

composer self-update

그런 다음 작곡가 패키지가 필요하면 완료됩니다.

composer require "<package-name>"

sudo? 루트? 왜 ?
Mohamed Elbahja

죄송합니다 형제, 권한 문제가 있으면 sudo를 추가하십시오.
sh6210

또는 파일 모드 및 소유자 / 그룹 권한을 수정해야합니까? SUDO를 실행하는 것보다! 그게 무슨 뜻인지 모른 채? 확실히 FIX가 아닙니다.
Mohamed Elbahja

물론 "chown"명령을 실행하여 소유자 / 그룹 권한 문제를 해결할 수 있지만 한 번에이 작업을 수행 할 수 있습니다. 나의 주요 의도는 나의 관점에서 가장 간단한 방법으로 해결책을 보여주는 것이 었습니다. 그러나 내 말이 이해가되지 않으면 죄송합니다.
sh6210

@ sh6210 composer를 사용할 때 sudo를 사용하지 마십시오. permission문제가 있을 수 있다고 가정하는 것은 편견입니다.
dbf

0

이전 답변 중 하나라도 작동하지 않으면 방화벽이 포트 9418에서 TCP_OUT을 허용하는지 확인하십시오.

내 방화벽 보안이 너무 예리했습니다. 이로 인해 Composer가 너무 오래 걸리고 시간 초과 또는 포트가 차단되었음을 표시하지 않았습니다.


업데이트 중에 프로세서가 사용 중 이었습니까?
Yevgeniy Afanasyev

0

바이러스 백신으로 인해 json 파일을 다운로드 할 때 내 속도가 느 렸습니다. 일부 바이러스 백신은 모든 웹 트래픽을 검사하며 json 파일 분석 속도가 느릴 수 있습니다. 작곡가를 실행하는 동안 AV를 비활성화하십시오.


0

편집 : 결론 : 여기에 나열된 해결책이 없거나 일반적으로 방탄으로 보입니다. 궁극적으로 도움이되는 것은 일반적으로 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://codeload.github.com/sebastianbergmann/php-text-template/legacy.zip/31f8b717e51d9a2afca6c9f046f5d69fc27c8686
[374.9MiB/173.16s]     40/45:   https://codeload.github.com/sebastianbergmann/diff/legacy.zip/720fcc7e9b5cf384ea68d9d930d480907a0c1a29
[374.9MiB/173.17s]     41/45:   https://codeload.github.com/sebastianbergmann/exporter/legacy.zip/68609e1261d215ea5b21b7987539cbfbe156ec3e
[374.9MiB/173.19s]     42/45:   https://codeload.github.com/sebastianbergmann/phpunit-mock-objects/legacy.zip/f9756fd4f43f014cb2dca98deeaaa8ce5500a36e
[374.9MiB/173.20s]     43/45:   https://codeload.github.com/sebastianbergmann/recursion-context/legacy.zip/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8
[374.9MiB/173.23s]     44/45:   https://codeload.github.com/sebastianbergmann/php-code-coverage/legacy.zip/4cab20a326d14de7575a8e235c70d879b569a57a
[374.9MiB/173.24s]     45/45:   https://codeload.github.com/doctrine/instantiator/legacy.zip/ae466f726242e637cebdd526a7d991b9433bacf1
[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/*-releaseLinux 배포판을 찾으려면 약 두 배 느립니다.

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모든 종속성에 일반적으로 적용되지 않을 때 이전 포인트 를 따라 케이스 (종속성) 기준으로 사용하면 무해한 것 같습니다.)


이것은 주어진 질문과 어떤 관련이 있습니까? 문제 설명에 Accoirding의 OPS 문제에 나열된 하나의 의존성이없는
니코 하세

문제는 일반적으로 해결되어야하며, 도움이 된 모든 것을 요약하고 다른 곳에서 다른 솔루션을 추가했습니다. 항상 질문자가 요청하는 것뿐만 아니라 수천 개의 다른 사용자 시나리오가 있습니다. 대부분의 응답은 일반적입니다. Composer require는 기본적으로 composer 설치의 하위 부분 일뿐입니다. 응답에 'require'라는 단어 / 명령어도 사용했다고해서 설치에도 적용되지 않는다는 의미는 아니지만 원하는 경우 해당 단어를 제거 할 수 있습니다. '하나의 종속성이 나열되어 있지 않습니다.' 무엇이든 변경하면 composer 설치는 종속성에 관한 것입니다.
FantomX1

나는 당신에게 답장을했기 때문에 몇 분 후에 1 점에서 -1로갔습니다. 아마도 당신이 이전에 저에게 투표했기 때문일 것입니다. 선택한 답변 prestistimo 또는 ipv 6 사용 또는 xdebug 비활성화는 일반적이지 않으며 구체적인 작성기 require 명령에 적용되지 않는다고 알려주십시오. 서둘러 편집 한 것에 대해 사과하지만 개인 위키로도 사용하고 구체적인 복종 이름도 나열하지 않았지만 조정하겠습니다. 내가 오타를 한 것이 마음에 들지 않으면 언급하지만 일반적이지 않은 것은 의미가 없습니다. 'require'를 사용하는 것이 솔루션 자체 중 하나이므로 'require'명령을 참조로 사용했습니다.
FantomX1

1
영업 이익은 작곡가가 느린 이유를 물었다 제로 종속성이있는 다른 많은 상황에서 물건의 힘 도움의 목록, 나는 주어진 질문에 대한 연결을 볼 수없는 경우에도 -
니코 하세

2
Prestissimo는 빈 요구 목록에서도 도움이됩니다. 일부 파일은 종속성 목록에 관계없이 작성기에 의해 다운로드되므로 병렬 다운로드가 여기에서도 도움이됩니다.
rob006


-1

알아내는 가장 좋은 방법은 작성기 업데이트 / 설치를 자세히 실행하는 것입니다. composer {설치 / 업데이트} -vvv. -h 플래그를 사용하면 나중에 도움이 될 수 있습니다.


그것에 대한 설명을 공유하십시오. OP는 완전히 빈 종속성 목록을 사용하여 테스트를 실행하고 있습니다
Nico Haase

-1

만약 당신이 당신의 composer.lock 파일을 삭제 한 다음 사라지면 composer install의존성을 다운로드하기에는 너무 느려집니다. 이 경우 composer update명령을 사용 하면 귀하 또는 다른 사람에게 도움이 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.