PHP Composer neden bu kadar yavaş?


100

Yaptığım tek şey sıfır bağımlılığa sahip bir proje başlatmakken PHP Composer neden bu kadar yavaş? İşte çalıştırdığım komutlar:

composer init

<composer.json oluşturmada adım adım ilerleyin, 0 sıfır bağımlılık tanımlayın>

composer install

3 dakika bekleyin (abartı değil).

Bestecinin yapması gereken tek şey bir otomatik yükleyiciyi çekmek ve oluşturmaktır /vendor, öyleyse neden bu kadar uzun sürüyor? Öyleyse, neden o adım olmuyor composer init?

Önbelleğe alınmış bir autloader ve satıcıyı çekmek için kullanabileceğim bir yapılandırma seçeneği var mı init?


1
Daha ciddisi: Son 30 gün içinde bestecinizi güncellediniz mi? Geçen ay kodda önemli bir performans iyileştirmesi oldu
Mark Baker

compose install5 dakikadan daha uzun süre önce başladım ve henüz tamamlanmadı. Composer version 1.0-dev (07c644ac229a21df80180598d8bb9aaba232eecb) 2015-02-03 12:51:10. Belki de en son sürüm değildir, ancak yine de IBM ana
makinenizden daha yenidir

Lütfen yaptığınızı onaylayıncomposer self-update
sjagr

Geçen hafta falan güncelledim.
AgmLauncher

Besteci güncellemesi ve besteci kendi kendini güncellemesinin inanılmaz derecede yavaş olmasıyla mücadele ettim. 15 dakikadan fazla sürüyor ve ardından istisnalar atılıyor. Yönlendirici DNS sunucularımı değiştirdim (Google'ınkinden kendi ISS'ime) ve besteci bir cazibe gibi çalıştı.
Gordon Hickley

Yanıtlar:


43

Ayrıca, Xdebug'u devre dışı bırakın . Xdebug, Composer'ın composer --version.


1
Aslında bu benim sorunum oldu. Xdebug, bestecinin çok yavaş çalışmasını sağlar.
AgmLauncher

Lütfen hirak / prestissimo kullanmayı deneyin. Paketleri hızlı bir tempoda indirmenize yardımcı olan bir besteci eklentisi. bağlantı
Ritesh Chitrakar

3
Yazma sırasında, hata ayıklama ile veya hata ayıklama olmadan aynı performansı elde ettim, çünkü 2020/2019'da besteci, çalışırken xdebug'u otomatik olarak devre dışı bıraktı, buna rağmen yii2-starter-kit'in yüklenmesi tüm kitaplıklarla yaklaşık 200 saniye sürdü. xdebug, bu nedenle bu yanıt güncelliğini
yitiriyor

Bunu gördüm, hata ayıklayıcımı çıkardım. Xdebug yalnızca FPM için yapılandırılmış olmasına rağmen, CLI tarafından başlatılmıştı ve IDE'm orada beni bekleyen bir kırılma noktasında oturuyordu.
Devam et'i tıklayın

379

Composer, tarafından uygulandığı için file_get_contents(). TCP optimizasyonu, Keep-Alive, çoğullama vb. İçermez.

Paketleri paralel olarak indirmek için bir Composer eklentisi oluşturdum: https://packagist.org/packages/hirak/prestissimo

$ composer global, hirak / prestissimo gerektirir

Lütfen dene. Benim çevremde composer install10 kat daha hızlı oluyor.


Vay be, 124 saniyeden yeni bir laravel projesi kurmak için sadece 21 saniyeye geçtim. Sevdim!
korniş

8
İyi haber: Bu görünüşe göre Ocak 2019'da Composer 2 ile birleştirildi: github.com/composer/composer/pull/7904
Chuck Le Butt

@ChuckLeButt ama serbest bırakılmaya devam ediyor :(
hejdav

Teşekkürler kardeşim. 20 kat daha hızlı.
İlyas karim

61
  1. Composer'ın en son sürümüne sahip olduğunuzdan emin olun.
  2. Örneğin -vvv ekleyerek ayrıntılı modda yükleyin composer global require "squizlabs/php_codesniffer=*" -vvv
  3. Composer'ın nerede yavaşlıkla karşı karşıya olduğunu bulabilirseniz, örneğin benimki paketleri indirirken 5 dakika boyunca takılı kalıyordu. 50 Mbit / s bağlantıda 20 kB'lik bir dosyanın indirilmesi 5 dakikadan uzun sürdü. Bunun nedeni, paketleri HTTPS değil HTTP kullanarak packagist'ten indirmesiydi. Yapılandırmada bu değişiklikleri yapmak sorunumu çözdü: composer config --global repo.packagist composer https://packagist.org

3
Bestecide yeniyim ve bunu 2 gün boyunca düzeltmeye çalışıyorum, yorumunuzu okuduktan ve -vvv ekledikten sonra, sonunda işe yaradı. 1000 olumlu oy
Huy

# 3 benim için çözdü. Şu an benim kahramanımsın Bir süredir neden bu kadar yavaş olduğu ve sadece bazı internet bağlantılarında çalıştığı için endişelendim. Teşekkürler!
Andreas Schantl

composer config --global repo.packagist composer https://packagist.org neydi o! Harika! 🏆
Rishi Kulshreshtha

13

Aynısı burada. "Composer install --profile -vvv" ile daha fazla ayrıntı alın. Benim durumumda birkaç JSON dosyasını indirmek uzun zaman alıyor. Sunucumda önbelleğe alınıyorlar, ancak yine de her Composer güncelleme / yükleme çağrısında indiriliyorlar.

... 30 dakika sonra ...

Packagist.org'da bir performans sorunu gibi görünüyor. Şimdi Composer kurulumu 2 saniye içinde çalışıyor! Ve indirilen JSON dosyaları uygun şekilde önbelleğe alınır.


1
"Sunucumda önbelleğe alınıyorlar ama yine de her besteci güncelleme / yükleme çağrısıyla indiriliyorlar" BU !! Bu problem için bir çözüm buldunuz mu? Yavaş bir bağlantım var ve bunu görmek çok kötü.
lud

9

Bu sorunla karşılaşıyordum ve makinemde herhangi bir yerde Xdebug kurulu olmadığından bu durum beni biraz eğlendiriyordu. IPv6 adresleme modu hataları olduğu ortaya çıktı . Bu yüzden test etmek için koştum

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

IPv4 geçti, ancak IPv6 başarısız oldu. Sonunda, ağ yığınının neden onu desteklemediğini bulmaya çalışmalısınız, ancak benim durumumda, bunu çözene kadar IPv4 trafiğini tercih etmeye karar verdim. On CentOS benim yarattığım / dosya /etc/gai.conf hedefine modifiye ve aşağıda koyun:

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'da bu dosyayı da düzenleyebilir ve satırın açıklamasını kaldırabilirsiniz.

precedence ::ffff:0:0/96  100

Rackspace Topluluk Merkezinde Kaynak


Sadece bir not için, bu kişisel olarak bana yardımcı olmadı, ancak tüm seçenekleri doğrulamak için bunları resmetmem gerekecek, hangisi neden olabilir.
FantomX1

@ FentomX1 Bunu duyduğuma üzüldüm. Bu yüzden testi en üste ekledim. Hem curl testi yaparsanız hem de bağlanırsanız, o zaman tabii ki, ağınız doğru bir şekilde kurulduğu için değişiklikler yapılmamalıdır.
Aaron Chamberlain

1
Windows 10'da bunun nasıl yapılacağını gösteren kısa bir YouTube videosu buldum. Sorunumu çözdü. youtube.com/watch?v=63Lt_vlNWLc
Marcus

5

Ubuntu Xenial 16.04 VPS'de aşağıdakileri yapmanız gerekir:

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

IPv4'ü IPv6 üzerinden tercih edildiği şekilde yapılandırır.

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


prestissimo'yu kurduğumdan beri besteci hızım mükemmel.
Big Tree

3
Bu çözümün ubuntu 18.04LTS için bile işe yaradığını onaylayabilirim
mwangaben

Lütfen cevabınıza başkalarının öğrenebileceği bir açıklama ekleyin. Bu ilk satır ne işe yarar?
Nico Haase

@NicoHaase Zaman damgalarına bakarsanız, bu cevap aslında anlattığım konuya bir cevap, ancak yorum olarak girmediler. Yine de cevabıma dahil ettim. Görünüşe göre paketçi IPV6'yı kullanmayı tercih ediyor, ancak bazı ağlar hala onunla iyi çalışmıyor. İlk satır, Linux Makinenizin IPv4 adreslerini tercih etmesini ve önce bunları araymasını sağlar.
Aaron Chamberlain

1

Benim durumumda, çalıştırdığım besteci sürümü geçmişe dönük. Besteci sürümünü güncelledikten sonra sorun ortadan kalktı.

Besteci sürümünü güncellemek için çalıştırın

composer self-update

ve sonra besteci paketini gerektirir ve bitirdiniz.

composer require "<package-name>"

sudo? kök ? neden ?
Mohamed Elbahja

üzgünüm kardeşim, izin sorunların varsa sudo ekle.
sh6210

yoksa dosya modu ve sahip / grup izinlerini düzeltmeli misiniz? SUDO'yu çalıştırmak yerine! bunun ne anlama geldiğini bilmeden? kesinlikle bir FIX değil.
Mohamed Elbahja

Tabii ki, sahip / grup izin sorununu "chown" komutunu çalıştırarak çözebilirsiniz, ancak bunu tek seferde yapabilirsiniz. Ana niyetim, çözümü en basit şekilde benim açımdan göstermekti. Ancak, sözlerim sana bir anlam ifade etmiyorsa özür dilerim.
sh6210

@ sh6210 Besteci kullanırken sudo kullanmaya teşvik etmeyin. Bir permissionsorunun 'olabileceğini' varsaymak önyargıdır.
dbf

0

Önceki cevaplardan herhangi biri işe yaramazsa, güvenlik duvarınızın 9418 numaralı bağlantı noktasında TCP_OUT'a izin verip vermediğini kontrol edin.

Güvenlik duvarı güvenliğim çok keskindi. Bu, Composer'ın çok uzun sürmesine neden oldu, zaman aşımına veya bağlantı noktasının engellendiğine dair hiçbir işaret almadım.


İşlemciniz güncelleme sırasında meşgul oldu mu?
Yevgeniy Afanasyev

0

Antivirüs nedeniyle json dosyalarını indirirken benimki yavaştı. Bazı antivirüsler tüm web trafiğini tarar ve json dosyalarını analiz etmede yavaş olabilir. Composer'ı çalıştırırken AV'nizi devre dışı bırakmayı deneyin.


0

Düzenleme: Sonuç: Burada listelenen hiçbir çözüm veya genel olarak kurşun geçirmez görünmüyor. Nihayetinde yardımcı olan şey genellikle composer'ı aşamalı olarak kullanmaktır composer require, composer removekomut kullanarak bir seferde yalnızca tek bir paketi gerektirmek veya kaldırmaktır , ayrıca herhangi bir "bağımlılığa özgü olmayan" ayarın eklenmesi ile ilgili olarak, herhangi bir kitaplık güncelleme amacıyla eklenebilir / kaldırılabilir / composer.json kilit önbellek yapılandırması yenileniyor.

Deneyimlerimi buradan ve söz konusu bağlantıdan gelen cevaplarla gruplandırıyorum.

Daha önce bu soruda bahsedilen her bir çözümü bu kez denedim. Ancak yine de bana yardımcı olmadı, ancak başka herhangi bir tek kitaplık kurmayı denedim / fark ettim, oldukça hızlıydı, bu yüzden kitaplıkları tek tek araştırmaya devam ettim ki bu da dar boğaza neden olabilir.

1) EVET Ve bunu kodlama olarak konumlandırdım"codeception/codeception": "2.4.0",

Tek başına neredeyse 200 saniye sürdü, ancak diğer kütüphanelerle birlikte çalıştırmak bazen neredeyse 12 dakika koşuyor gibi görünüyordu. Dahası, besteci, 20 saniye başlattıktan sonra 0.35 saniye çalıştığında çıktı verdiğinde gerçek zamanı yansıtmıyor gibi görünüyor.

[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]

Önceki koşu

 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) EVET Btw, bahsettiğim gibi prestissimo zaten uygulandı ve yardımcı görünüyordu, kod çözme olmadan tamamen daha hızlı internete sahip başka bir çok hızlı bilgisayarda olduğu gibi kurulum 5 kat daha fazla, 518 saniye sürdü, belki de prestissimo veya diğer tavsiyeler nedeniyle. burada 110 saniye sürdü.

composer global require hirak/prestissimo

3) EVET Windows yavaştır ve Windows'tan Linux'a sanallaştırılmış klasörler de öyle. Linux içinde paylaşılan klasörün dışında koşmak, onu yaklaşık iki kat hızlandırdı. Önbellek nedeniyle olabilir.

4) HAYIR

    "process-timeout": 1800,

git checkout gibi tek bir işlem başına ve zaten oldukça büyük olduğu için 10'lara bile ayarlanmasına yardımcı olmadı. Belki de yalnızca bazı hizmetlerin tamamen kesilmesi durumunda yardımcı olabilir.

5) EVET , bir satıcı klasörü kaldırılmış veya boşken kurulum = yeni bir şekilde, satıcı dosyalarına ve içinde bulunan diğer paketlere eklemekten çok daha hızlı (yaklaşık 1 dakika ve daha fazla) görünüyor

6) EVET , xdebug kendi görüntüsü olmayan Ubuntu18 apache2'de Yii2-starter-kit'te xdebug ile bile Debian10 php-fpm'den daha yavaş görünüyor, bazı nedenlerden dolayı cat /etc/*-releaseLinux dağıtımını bulmak için yaklaşık iki kat daha yavaş

7) php -ddefault_socket_timeout=1 /usr/local/bin/composer --verbose --profile install Burada bahsedilen HAYIR , --prefer-dist işaretine ve IP v6 v v4 protokolünden bahsedilmesine rağmen, besteci bağımlılıklarının yavaş güncellenmesine yardımcı olmadı . Önbellekten kaynaklanıyor olabilir.

8) HAYIR Zip kurulumunun bir faydası yok gibi görünüyor, PHP kurulumu zip önceden yüklenmişti, Linux paketleri olarak kurulana kadar orada bulunmamaktan şikayet ediyordu, ancak tek bir simülasyonda işlemi 650 saniyeden 750 saniyeye kadar 100 saniye yavaşlattı. Aynı çevre koşulları. As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension https://stackoverflow.com/a/51208804/3419535 Önbelleksiz koşullarda test etme--no-cache

9) EVET kaldır "minimum-stability ": "dev",

10) YES use prefer-dist composer require robmorgan/phinx:@dev --prefer-dist -vvv --profile (örnek olarak bir Requir komutunu kullanarak, bir install komutuyla tam kurulum yerine, yukarıda belirtildiği gibi kısmi gereksinim komutlarını kullanmak, en önemli hızlandırmalardan biri gibi görünüyor ve ayrıca @ gerektirir minimum-stability: devtüm bağımlılıklara jenerik olarak uygulanmadığında önceki noktalarda olduğu gibi, durum başına (bağımlılık) kullanımı zararsız görünmektedir)


Bu verilen soruyla nasıl ilişkilidir? Problem açıklamasına göre, OPs probleminde listelenen tek bir bağımlılık yoktur
Nico Haase,

Sorun genel olarak ele alınmalı, bana yardımcı olan her şeyi özetlemeye çalıştım ve başka bir yerden başka çözümler ekledim. Her zaman sadece soruyu soran kişi için değil, işte binlerce başka kullanıcı senaryosu geliyor. Yanıtların çoğu geneldir. Composer gereksinimleri temelde yalnızca composer kurulumunun bir alt parçasıdır. Sadece yanıtta 'gerekli' kelimesini / komutunu da kullandığım için, bunun kurulum için de geçerli olmadığı anlamına gelmez, ancak dilerseniz bu kelimeyi kaldırabilirim. 'Listelenen tek bir bağımlılık yok', ama nasıl herhangi bir şeyi değiştirir, composer yüklemesi bağımlılıklardan başka bir şey değildir.
FantomX1

Birkaç dakika sonra 1 puandan -1'e gittim çünkü size cevap verdim, belki daha önce bana oy verdiğiniz içindir. Bana seçilen cevabın prestistimo veya ipv 6 kullanmanın veya xdebug'u devre dışı bırakmanın da genel olmadığını ve somut bir besteci için komut gerektirmediğini söyleyin. Birkaç aceleci düzenleme için özür dilerim ama bunu kişisel bir wiki olarak da kullanıyorum ve somut bir depedency adı bile listelemedim, ancak ayarlayacağım. Bir yazım hatası yapmamdan hoşlanmıyorsanız, bundan bahsedin, ancak genel olmamak bir anlam ifade etmiyor. Referans olarak bir 'gerekli' komutunu kullandım, çünkü 'gereksinim' kullanmak çözümlerin kendisidir.
FantomX1

1
OP, Composer'ın neden sıfır bağımlılıkla yavaş olduğunu sordu - iş listeniz başka birçok durumda yardımcı olsa bile, verilen soruyla hiçbir bağlantı görmüyorum
Nico Haase

2
Prestissimo, boş ihtiyaç listesi olsa bile yardımcı olur - bazı dosyalar, bağımlılık listesinden bağımsız olarak oluşturucu tarafından indirilir, bu nedenle paralel indirme burada da yardımcı olacaktır.
rob006


-1

Bunu öğrenmenin en iyi yolu, besteci güncellemesini / yüklemesini ayrıntıyla çalıştırmaktır. besteci {install / update} -vvv. -H bayrağını kullanmak size gelecekte yardımcı olabilir


Lütfen bunun için bir açıklama paylaşın. OP, testleri tamamen boş bir bağımlılıklar listesi kullanarak yürütüyor
Nico Haase,

-1

Durumda, composer.lock dosyanızı sildiyseniz ve sonra gittiyseniz, composer installbağımlılıkları indirmek çok yavaş olur. Durum buysa, composer updatekomutu kullanın ve size veya başkalarına yardımcı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.