Mengapa PHP Composer sangat lambat?

99

Mengapa PHP Composer sangat lambat padahal yang saya lakukan hanyalah membuat proyek tanpa ketergantungan? Berikut perintah yang saya jalankan:

composer init

<langkah melalui pembuatan composer.json, definisikan 0 nol dependensi>

composer install

Tunggu 3 menit (jangan berlebihan).

Yang harus dilakukan komposer hanyalah menarik pemuat otomatis dan membuat /vendor, jadi mengapa butuh waktu lama? Karena itu, mengapa langkah itu tidak terjadi composer init?

Apakah ada opsi konfigurasi yang dapat saya gunakan untuk menarik autloader dan vendor yang di-cache init?

AgmLauncher
sumber
1
Lebih serius lagi: apakah Anda sudah memperbarui komposer Anda dalam 30 hari terakhir? Ada peningkatan kinerja besar pada kode tersebut bulan lalu
Mark Baker
Saya mulai compose installlebih dari 5 menit yang lalu dan belum selesai. Composer version 1.0-dev (07c644ac229a21df80180598d8bb9aaba232eecb) 2015-02-03 12:51:10. Mungkin ini bukan versi terbaru tetapi masih lebih baru dari mainframe IBM Anda ;-)
axiac
Harap konfirmasi bahwa Anda telah selesaicomposer self-update
sjagr
Saya telah, memperbaruinya minggu lalu atau lebih.
AgmLauncher
Saya berjuang dengan pembaruan komposer dan pembaruan diri komposer menjadi sangat lambat. Mengambil lebih dari 15 menit dan kemudian membuang pengecualian. Saya mengubah server DNS router saya (dari Google ke milik ISP saya) dan komposer bekerja dengan sangat baik.
Gordon Hickley

Jawaban:

43

Juga, nonaktifkan Xdebug . Xdebug dapat menyebabkan Komposer membutuhkan waktu beberapa menit bahkan saat menjalankan perintah sesederhana composer --version.

adjco
sumber
1
Ini ternyata menjadi masalah saya. Xdebug membuat komposer bekerja sangat lambat.
AgmLauncher
Silakan coba gunakan hirak / prestissimo. Ini adalah plugin komposer yang membantu Anda mengunduh paket dalam tempo cepat. tautan
Ritesh Chitrakar
3
Pada saat penulisan, saya memiliki kinerja yang sama dengan atau tanpa debug, karena pada tahun 2020/2019 komposer secara otomatis menonaktifkan xdebug saat berjalan, meskipun menginstal yii2-starter-kit membutuhkan waktu sekitar 200 detik dengan semua pustaka baik itu w / wo xdebug, jadi balasan ini menjadi usang
FantomX1
Melihat ini, menarik debugger saya. Menemukan bahwa meskipun xdebug dikonfigurasi untuk FPM saja, CLI telah memulainya dan IDE saya berada di sana pada titik istirahat menunggu saya. Hit lanjutkan dan komposer menendang kembali.
ppostma1
378

Karena Komposer diimplementasikan oleh file_get_contents(). Itu tidak memiliki pengoptimalan TCP, tidak ada Keep-Alive, tidak ada multiplexing, dll.

Saya membuat plugin Composer untuk mengunduh paket secara paralel: https://packagist.org/packages/hirak/prestissimo

$ composer global membutuhkan hirak / prestissimo

Silakan mencobanya. Di lingkungan saya, composer installmenjadi 10 kali lebih cepat.

hiraku
sumber
Wow, saya beralih dari 124 detik untuk menginstal proyek laravel baru menjadi hanya 21 detik. Suka!
cornips
7
Kabar baik: Ini rupanya digabungkan menjadi Komposer 2 pada Januari 2019: github.com/composer/composer/pull/7904
Chuck Le Butt
@ChuckLeButt tetapi rilis masih tidak terlihat :(
hejdav
Terima kasih bro. Ini 20x lebih cepat.
Ilyas karim
61
  1. Pastikan Anda memiliki Composer versi terbaru.
  2. Instal dalam mode verbose dengan menambahkan -vvv, misalnya composer global require "squizlabs/php_codesniffer=*" -vvv
  3. Jika Anda dapat mengetahui di mana Composer menghadapi kelambatan, misalnya saya macet selama 5 menit saat mengunduh paket. Butuh> 5 menit untuk mengunduh file 20 kB dengan koneksi 50 Mbit / dtk. Ini karena itu mengunduh paket dari pembuat paket menggunakan HTTP dan bukan HTTPS. Membuat perubahan ini pada konfigurasi telah menyelesaikan masalah saya: composer config --global repo.packagist composer https://packagist.org
sgr12
sumber
3
Saya baru mengenal komposer dan mencoba memperbaikinya selama 2 hari, setelah membaca komentar Anda dan menambahkan -vvv, akhirnya berhasil. 1000 suara positif
Huy Trịnh
# 3 menyelesaikannya untuk saya. Kamu adalah pahlawanku sekarang. Saya khawatir untuk beberapa waktu sekarang mengapa ini sangat lambat dan hanya bekerja pada beberapa koneksi internet. Terima kasih!
Andreas Schantl
composer config --global repo.packagist composer https://packagist.org apa itu tadi! Hebat! 🏆
Rishi Kulshreshtha
13

Di sini sama. Dapatkan detail selengkapnya dengan "composer install --profile -vvv". Dalam kasus saya, perlu waktu lama untuk mengunduh beberapa file JSON. Mereka mendapatkan cache di server saya, tetapi mereka masih diunduh dengan setiap panggilan pembaruan / pemasangan Komposer.

... 30 menit kemudian ...

Sepertinya ada masalah kinerja @ packagist.org. Sekarang penginstalan Komposer berjalan dalam 2 detik! Dan file JSON yang diunduh disimpan dalam cache dengan benar.

ppan
sumber
1
"Mereka mendapatkan cache di server saya tetapi masih diunduh dengan setiap panggilan pembaruan / pemasangan komposer" INI !! Sudahkah Anda menemukan solusi untuk masalah ini? Saya memiliki koneksi yang lambat dan sangat buruk untuk melihatnya.
lud
9

Saya mengalami masalah ini, dan itu membuat saya bingung karena saya tidak menginstal Xdebug di mana pun di mesin saya. Ternyata itu adalah kegagalan mode pengalamatan IPv6 . Jadi untuk mengujinya saya lari

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

IPv4 berhasil, tetapi IPv6 gagal. Pada akhirnya, Anda harus mencari tahu mengapa tumpukan jaringan Anda tidak mendukungnya, tetapi dalam kasus saya, saya memutuskan untuk hanya memberikan preferensi pada lalu lintas IPv4 sampai saya dapat mengatasinya. Di CentOS saya membuat / memodifikasi file /etc/gai.conf dan memasukkan yang berikut ini:

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

Di Ubuntu Anda juga dapat mengedit file itu dan menghapus komentar pada baris

precedence ::ffff:0:0/96  100

Sumber di Rackspace Community Hub

Aaron Chamberlain
sumber
Sekadar catatan, ini tampaknya tidak membantu saya secara pribadi, meskipun saya harus menirunya kembali untuk mengonfirmasi semua opsi, yang mana di antara mereka yang mungkin menjadi penyebabnya.
FantomX1
@ FentomX1 turut berduka cita. Itu sebabnya saya memasukkan tes di bagian atas. Jika Anda melakukan kedua tes curl dan itu terhubung, maka jelas, perubahan tidak boleh dilakukan karena jaringan Anda diatur dengan benar.
Aaron Chamberlain
1
Menemukan video YouTube singkat yang menunjukkan cara melakukan ini di Windows 10. Itu memperbaiki masalah saya. youtube.com/watch?v=63Lt_vlNWLc
Marcus
5

Di Ubuntu Xenial 16.04 VPS, Anda perlu melakukan hal berikut:

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

Ini mengkonfigurasi IPv4 sebagai pilihan daripada IPv6.

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

Liam Mitchell
sumber
sejak saya menginstal prestissimo, kecepatan komposer saya luar biasa.
Pohon Besar
3
Saya dapat mengonfirmasi bahwa solusi ini berfungsi bahkan untuk ubuntu 18.04LTS
mwangaben
Harap tambahkan beberapa penjelasan pada jawaban Anda sehingga orang lain dapat belajar darinya. Apa fungsi baris pertama itu?
Nico Haase
@NicoHaase Jika Anda melihat stempel waktu, jawaban ini sebenarnya adalah tanggapan atas masalah yang saya jelaskan, tetapi mereka tidak menaruhnya sebagai komentar. Saya memasukkannya ke dalam jawaban saya. Tampaknya pembuat paket lebih suka menggunakan IPV6, tetapi beberapa jaringan masih tidak berfungsi dengan baik. Baris pertama membuatnya sehingga Mesin Linux Anda akan memilih alamat IPv4 dan mencarinya terlebih dahulu.
Aaron Chamberlain
1

Dalam kasus saya, versi komposer yang saya jalankan sudah ketinggalan zaman. Setelah memperbarui versi komposernya sendiri masalahnya hilang.

Untuk mengupdate versi komposer, jalankan

composer self-update

dan kemudian membutuhkan paket komposer dan selesai.

composer require "<package-name>"
sh6210
sumber
sudo? root? kenapa?
Mohamed Elbahja
maaf saudara, tambahkan sudo jika anda mengalami masalah izin.
sh6210
atau haruskah Anda memperbaiki mode file dan izin pemilik / grup? daripada hanya menjalankan SUDO! tanpa mengetahui apa artinya? jelas bukan PERBAIKAN.
Mohamed Elbahja
tentu saja, Anda dapat memperbaiki masalah izin pemilik / grup dengan menjalankan perintah "chown", tetapi Anda dapat melakukannya sekaligus. Tujuan utama saya adalah menunjukkan solusi dengan cara yang paling sederhana dari sudut pandang saya. Namun, saya minta maaf jika kata-kata saya tidak masuk akal bagi Anda.
sh6210
@ sh6210 Jangan menganjurkan untuk menggunakan sudo saat menggunakan komposer. Menganggap 'mungkin' ada permissionmasalah adalah prasangka.
dbf
0

Jika salah satu jawaban sebelumnya tidak berfungsi, periksa apakah firewall Anda mengizinkan TCP_OUT pada port 9418.

Keamanan firewall saya terlalu tajam. Ini menyebabkan Composer butuh waktu lama, saya tidak pernah mendapat waktu tunggu atau indikasi port diblokir.

gidomanders
sumber
Apakah prosesor Anda sibuk selama pembaruan?
Yevgeniy Afanasyev
0

Milik saya lambat saat mengunduh file json karena antivirus. Beberapa antivirus memindai semua lalu lintas web dan mungkin lambat dalam menganalisis file json. Coba nonaktifkan AV Anda saat menjalankan komposer.

Dima L.
sumber
0

Sunting: Kesimpulan: tidak ada solusi yang tercantum di sini atau umumnya tampaknya antipeluru. Apa yang pada akhirnya membantu biasanya menggunakan komposer secara bertahap, memerlukan atau menghapus hanya satu paket pada satu waktu menggunakan composer require, composer removeperintah, juga berkaitan dengan penambahan setelan "khusus non-ketergantungan", pustaka apa pun dapat ditambahkan / dihapus untuk kepentingan pembaruan / menyegarkan konfigurasi cache kunci composer.json.

Mengelompokkan pengalaman saya dengan jawaban dari sini dan dari terkait yang dimaksud.

Sebelumnya saya mencoba setiap solusi yang disebutkan dalam pertanyaan ini hingga saat ini. Namun, itu tetap tidak membantu saya, meskipun saya mencoba / memperhatikan bahwa menginstal pustaka tunggal lainnya sangat cepat, jadi saya terus menyelidiki perpustakaan satu per satu yang dapat menyebabkan leher botol.

1) YA Dan saya menemukannya sebagai codeception,"codeception/codeception": "2.4.0",

Butuh waktu hampir 200 detik saja, meskipun menjalankannya bersama dengan perpustakaan lain kadang-kadang tampak berjalan hampir selama 12 menit. Selain itu, komposer tampaknya tidak mencerminkan waktu nyata ketika setelah memulai selama 20 detik ia mengeluarkannya berjalan 0,35 detik dan seterusnya.

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

Lari sebelumnya

 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) YA Btw, prestissimo seperti yang saya sebutkan sudah diterapkan dan sepertinya membantu, seperti pada komputer lain yang sangat cepat yang memiliki internet jauh lebih cepat sama sekali tanpa codeception, instalasi memakan waktu 5 kali lebih banyak, 518 detik, sementara mungkin karena prestissimo atau saran lainnya di sini, butuh 110 detik.

composer global require hirak/prestissimo

3) YA Windows lambat, begitu juga folder tervirtualisasi dari Windows ke Linux. Menjalankan di luar folder bersama di dalam Linux sepertinya mempercepatnya sekitar dua kali. Padahal bisa jadi karena cache.

4) TIDAK

    "process-timeout": 1800,

adalah per satu proses seperti git checkout dan tampaknya tidak membantu sama sekali bahkan disetel ke 10-an, karena itu sudah sangat besar. Ini mungkin membantu hanya jika ada pemadaman total beberapa layanan.

5) YA menginstal dengan folder vendor dihapus atau kosong = baru terlihat jauh lebih cepat (sekitar 1 menit dan lebih), daripada menambahkan ke file vendor dan paket lain yang ada di dalamnya

6) YES tampaknya lebih lambat pada Ubuntu18 apache2 tanpa gambar xdebug sendiri, daripada pada Debian10 php-fpm bahkan dengan xdebug di Yii2-starter-kit, untuk beberapa alasan sekitar dua kali lebih lambat, cat /etc/*-releaseuntuk mengetahui distribusi Linux

7) NO yang php -ddefault_socket_timeout=1 /usr/local/bin/composer --verbose --profile install disebutkan di sini tampaknya tidak membantu Pembaruan lambat dari dependensi composer, meskipun ada flag --prefer-dist atau ada protokol IP v6 v v4 yang disebutkan Meskipun itu mungkin karena cache.

8) NO Instalasi zip sepertinya tidak membantu, instalasi PHP telah menginstal zip, masih mengeluh tidak ada sampai diinstal sebagai paket Linux tetapi itu membuat proses dalam simulasi tunggal lebih lambat 100 detik dari 650 hingga 750 detik. Kondisi lingkungan yang sama. As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension https://stackoverflow.com/a/51208804/3419535 menguji kondisi tanpa cache--no-cache

9) YA hapus "minimum-stability ": "dev",

10) YES gunakan prefer-dist composer require robmorgan/phinx:@dev --prefer-dist -vvv --profile (menggunakan perintah require sebagai contoh, karena menggunakan perintah sebagian membutuhkan seperti yang disebutkan pertama di atas, alih-alih instalasi penuh melalui perintah instal, tampaknya menjadi salah satu percepatan paling signifikan, ditambah membutuhkan @ dev- seperti pada poin sebelumnya ketika minimum-stability: devtidak diterapkan secara umum ke semua dependensi tampaknya tidak berbahaya jika digunakan pada basis per kasus (ketergantungan))

FantomX1
sumber
Bagaimana ini terkait dengan pertanyaan yang diberikan? Sesuai dengan deskripsi masalah, tidak ada satu pun ketergantungan yang tercantum dalam masalah OP
Nico Haase
Masalahnya harus ditangani secara umum, saya mencoba meringkas semua yang membantu saya, dan menambahkan beberapa solusi lain dari tempat lain. Tidak selalu hanya untuk apa yang diminta penanya, inilah ribuan skenario pengguna lain. Sebagian besar tanggapan bersifat umum. Kebutuhan komposer pada dasarnya hanyalah sebagian dari pemasangan komposer. Hanya karena saya menggunakan juga kata / perintah 'membutuhkan' dalam responnya, tidak berarti itu tidak berlaku juga untuk menginstal, tetapi jika Anda ingin saya dapat menghapus kata itu. 'Tidak ada satu ketergantungan yang terdaftar', tetapi bagaimana itu mengubah apa pun, penginstalan komposer tidak lain adalah ketergantungan.
FantomX1
Saya beralih dari 1 poin ke -1 hanya beberapa menit kemudian karena saya membalas Anda, mungkin karena Anda memilih saya sebelumnya. Katakan padaku bahwa jawaban prestistimo yang dipilih atau menggunakan ipv 6 atau menonaktifkan xdebug juga tidak umum dan tidak berlaku untuk perintah komposer beton. Saya minta maaf atas beberapa pengeditan yang tergesa-gesa tetapi saya menggunakannya juga sebagai wiki pribadi, dan saya bahkan tidak mencantumkan nama ketergantungan yang konkret, tetapi akan menyesuaikannya. Jika Anda tidak suka saya salah ketik, sebutkan itu, tetapi tidak umum tidak masuk akal. Saya menggunakan perintah 'memerlukan' sebagai referensi, karena menggunakan 'memerlukan' adalah salah satu solusi itu sendiri.
FantomX1
1
OP bertanya mengapa Komposer lambat dengan nol ketergantungan - bahkan jika daftar barang Anda dapat membantu dalam banyak situasi lain, saya tidak melihat ada hubungan dengan pertanyaan yang diberikan
Nico Haase
2
Prestissimo membantu bahkan dengan daftar kebutuhan yang kosong - beberapa file diunduh oleh komposer terlepas dari daftar dependensinya, jadi unduhan paralel juga akan membantu di sini.
rob006
0

Langkah 1

$ composer self-update

Langkah 2

$ composer clear-cache

langkah 3

$ composer update
Yevgeniy Afanasyev
sumber
-1

Cara terbaik untuk mengetahuinya adalah menjalankan pembaruan / pemasangan komposer dengan verbositas. komposer {install / update} -vvv. Menggunakan bendera -h dapat membantu Anda di masa mendatang

Edu
sumber
Tolong bagikan penjelasan untuk itu. OP menjalankan tes menggunakan daftar dependensi yang benar-benar kosong
Nico Haase
-1

Dalam kasus, Jika Anda telah menghapus file composer.lock Anda, dan kemudian pergi composer installterlalu lambat untuk mendownload dependensi. Jika ini masalahnya, gunakan composer updateperintah dan kemudian itu dapat membantu Anda atau orang lain.

NADZ
sumber