ทำไม PHP Composer ถึงช้ามาก?


99

เหตุใดPHP Composerจึงช้ามากเมื่อสิ่งที่ฉันทำคือเริ่มต้นโปรเจ็กต์ที่ไม่มีการอ้างอิง นี่คือคำสั่งที่ฉันเรียกใช้:

composer init

<ขั้นตอนผ่านการสร้าง composer.json กำหนด 0 ศูนย์การอ้างอิง>

composer install

รอ 3 นาที (ไม่ใช่การพูดเกินจริง)

นักแต่งเพลงทุกคนต้องทำคือดึงตัวโหลดอัตโนมัติแล้วสร้าง/vendorเหตุใดจึงใช้เวลานาน ทำไมขั้นตอนนั้นถึงไม่เกิดขึ้นcomposer init?

มีตัวเลือกการกำหนดค่าที่ฉันสามารถใช้เพื่อดึงตัวโหลดอัตโนมัติและผู้ขายเข้ามาในแคชได้initหรือไม่?


1
จริงจังมากขึ้น: คุณได้อัปเดตผู้แต่งเพลงของคุณในช่วง 30 วันที่ผ่านมาหรือไม่? มีการปรับปรุงประสิทธิภาพครั้งใหญ่ของโค้ดเมื่อเดือนที่แล้ว
Mark Baker

ฉันเริ่มต้นcompose installมากกว่า 5 นาทีที่แล้วและยังไม่เสร็จสมบูรณ์ Composer version 1.0-dev (07c644ac229a21df80180598d8bb9aaba232eecb) 2015-02-03 12:51:10. อาจจะไม่ใช่เวอร์ชันล่าสุด แต่ยังใหม่กว่าเมนเฟรม IBM ของคุณ ;-)
axiac

โปรดยืนยันว่าคุณได้ทำcomposer self-update
sjagr

ฉันได้อัปเดตเมื่อสัปดาห์ที่แล้วหรือประมาณนั้น
AgmLauncher

ฉันต่อสู้กับการอัปเดตนักแต่งเพลงและการอัปเดตตัวเองของนักแต่งเพลงที่ช้ามาก ใช้เวลามากกว่า 15 นาทีแล้วจึงโยนข้อยกเว้น ฉันเปลี่ยนเซิร์ฟเวอร์ DNS ของเราเตอร์ (จาก Google เป็น ISP ของฉันเอง) และนักแต่งเพลงก็ทำงานได้อย่างมีเสน่ห์
Gordon Hickley

คำตอบ:


43

ปิดการใช้งานXdebugด้วย Xdebug อาจทำให้ Composer ใช้เวลาไม่กี่นาทีแม้ว่าจะเรียกใช้คำสั่งง่ายๆเพียงแค่composer --version.


1
สิ่งนี้กลายเป็นปัญหาของฉัน Xdebug ทำให้นักแต่งเพลงทำงานช้ามาก
AgmLauncher

โปรดลองใช้ hirak / prestissimo เป็นปลั๊กอินนักแต่งเพลงที่ช่วยให้คุณดาวน์โหลดแพ็คเกจในจังหวะที่รวดเร็ว ลิงค์
Ritesh Chitrakar

3
ในช่วงเวลาของการเขียนฉันมีประสิทธิภาพเดียวกันโดยมีหรือไม่มีการดีบักเนื่องจากในปี 2020/2019 นักแต่งเพลงปิดใช้งาน xdebug โดยอัตโนมัติเมื่อทำงานแม้ว่าการติดตั้ง yii2-starter-kit นั้นใช้เวลาประมาณ 200 วินาทีกับไลบรารีทั้งหมดไม่ว่าจะเป็น w / wo xdebug ดังนั้นคำตอบนี้จึงล้าสมัย
FantomX1

เห็นสิ่งนี้ดึงตัวแก้จุดบกพร่องของฉันขึ้นมา พบว่าแม้ว่า xdebug จะถูกกำหนดค่าสำหรับ FPM เท่านั้น CLI ได้เริ่มต้นแล้วและ IDE ของฉันก็นั่งอยู่ที่จุดพักรอฉันอยู่ที่นั่น ตีต่อและนักแต่งเพลงก็เตะกลับเข้ามา
ppostma1

378

เนื่องจาก Composer ดำเนินการโดยfile_get_contents(). ที่ไม่มีการเพิ่มประสิทธิภาพ TCP ไม่มี Keep-Alive ไม่มีการมัลติเพล็กซ์ ฯลฯ

ฉันสร้างปลั๊กอิน Composer เพื่อดาวน์โหลดแพ็คเกจแบบขนาน: https://packagist.org/packages/hirak/prestissimo

$ นักแต่งเพลง global ต้องการ hirak / prestissimo

โปรดลองดู ในสภาพแวดล้อมของฉันcomposer installเร็วขึ้น 10 เท่า


ว้าวฉันไปจาก 124 วินาทีเพื่อติดตั้งโปรเจ็กต์ laravel ใหม่เหลือเพียง 21 วินาที รักเลย!
cornips

7
ข่าวดี: เห็นได้ชัดว่าสิ่งนี้ถูกรวมเข้ากับ Composer 2 ในเดือนมกราคม 2019: github.com/composer/composer/pull/7904
Chuck Le Butt

@ChuckLeButt แต่ยังไม่เห็น :(
hejdav

ขอบใจนะ. เร็วขึ้น 20 เท่า
Ilyas karim

61
  1. ตรวจสอบให้แน่ใจว่าคุณมี Composer เวอร์ชันล่าสุด
  2. ติดตั้งในโหมด verbose โดยเพิ่ม -vvv ตัวอย่างเช่น composer global require "squizlabs/php_codesniffer=*" -vvv
  3. หากคุณสามารถทราบได้ว่า Composer กำลังเผชิญกับความช้าอยู่ที่ใดเช่นของฉันติดขัดเป็นเวลา 5 นาทีเมื่อดาวน์โหลดแพ็คเกจ ใช้เวลา> 5 นาทีในการดาวน์โหลดไฟล์ 20 kB บนการเชื่อมต่อ 50 Mbit / s นี่เป็นเพราะมันกำลังดาวน์โหลดแพ็คเกจจาก packagist โดยใช้ HTTP ไม่ใช่ HTTPS การเปลี่ยนแปลงการกำหนดค่าเหล่านี้ช่วยแก้ปัญหาของฉันได้: 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
"พวกเขาได้รับแคชบนเซิร์ฟเวอร์ของฉัน แต่ยังคงถูกดาวน์โหลดพร้อมกับการอัปเดต / ติดตั้งผู้แต่งทุกคน" นี่ !! คุณพบวิธีแก้ปัญหานี้แล้วหรือยัง? ฉันมีการเชื่อมต่อที่ช้าและมันแย่มากที่เห็นแบบนั้น
61

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 เสียใจที่ได้ยินเช่นนั้น นั่นเป็นเหตุผลที่ฉันรวมการทดสอบไว้ด้านบน หากคุณทำการทดสอบ curl ทั้งสองครั้งและกำลังเชื่อมต่ออยู่แน่นอนว่าไม่ควรทำการเปลี่ยนแปลงเนื่องจากเครือข่ายของคุณตั้งค่าอย่างถูกต้อง
Aaron Chamberlain

1
พบวิดีโอ YouTube สั้น ๆ ที่แสดงวิธีการดำเนินการนี้บน Windows 10 มันช่วยแก้ปัญหาของฉันได้ 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

กำหนดค่า IPv4 เป็นที่ต้องการมากกว่า IPv6

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


ตั้งแต่ฉันติดตั้ง prestissimo ความเร็วของนักแต่งเพลงของฉันก็ยอดเยี่ยมมาก
Big Tree

3
ฉันสามารถยืนยันได้ว่าโซลูชันนี้ใช้ได้กับ Ubuntu 18.04LTS
mwangaben

โปรดเพิ่มคำอธิบายให้กับคำตอบของคุณเพื่อให้ผู้อื่นสามารถเรียนรู้ได้ บรรทัดแรกทำอะไร?
Nico Haase

@NicoHaase หากคุณดูการประทับเวลาคำตอบนี้เป็นการตอบสนองต่อปัญหาที่ฉันอธิบายไว้ แต่ไม่ได้ระบุไว้เป็นความคิดเห็น ฉันรวมไว้ในคำตอบของฉันอย่างไรก็ตาม ดูเหมือนว่า Packagist จะชอบใช้ IPV6 แต่บางเครือข่ายก็ยังใช้งานได้ไม่ดีนัก บรรทัดแรกทำให้เครื่อง Linux ของคุณชอบที่อยู่ IPv4 และมองหาที่อยู่ก่อน
Aaron Chamberlain

1

ในกรณีของฉันเวอร์ชันของนักแต่งเพลงที่ฉันใช้งานย้อนหลัง หลังจากอัปเดตเวอร์ชันของนักแต่งเพลงแล้วปัญหาก็หายไป

เพื่ออัปเดตเวอร์ชันนักแต่งเพลงที่รัน

composer self-update

จากนั้นต้องใช้แพ็คเกจนักแต่งเพลงเท่านี้ก็เสร็จแล้ว

composer require "<package-name>"

ซูโด? ราก? เพราะอะไร?
Mohamed Elbahja

ขอโทษพี่เพิ่ม sudo หากคุณมีปัญหาการอนุญาต
sh6210

หรือคุณควรแก้ไขโหมดไฟล์และสิทธิ์ของเจ้าของ / กลุ่ม? แทนที่จะใช้ SUDO! โดยไม่รู้ว่าหมายถึงอะไร? ไม่ใช่การแก้ไขอย่างแน่นอน
Mohamed Elbahja

แน่นอนคุณสามารถแก้ไขปัญหาการอนุญาตเจ้าของ / กลุ่มได้โดยเรียกใช้คำสั่ง "chown" แต่คุณสามารถทำได้ในครั้งเดียว ความตั้งใจหลักของฉันคือการแสดงวิธีแก้ปัญหาด้วยวิธีที่ง่ายที่สุดจากมุมมองของฉัน อย่างไรก็ตามฉันขอโทษหากคำพูดของฉันไม่สมเหตุสมผลกับคุณ
sh6210

@ sh6210 อย่าสนับสนุนให้ใช้ sudo เมื่อใช้นักแต่งเพลง สมมติว่ามีปัญหา 'อาจ' permissionเป็นอคติ
dbf

0

หากคำตอบก่อนหน้านี้ไม่ได้ผลให้ตรวจสอบว่าไฟร์วอลล์ของคุณอนุญาตให้ใช้ TCP_OUT บนพอร์ต 9418 หรือไม่

ความปลอดภัยไฟร์วอลล์ของฉันคมเกินไป สิ่งนี้ทำให้ Composer ใช้เวลานานมากฉันไม่เคยหมดเวลาหรือมีข้อบ่งชี้ว่าพอร์ตถูกบล็อก


โปรเซสเซอร์ของคุณไม่ว่างระหว่างการอัพเดตหรือไม่?
Yevgeniy Afanasyev

0

ของฉันทำงานช้าเมื่อดาวน์โหลดไฟล์ json เนื่องจากโปรแกรมป้องกันไวรัส โปรแกรมป้องกันไวรัสบางตัวจะสแกนทราฟฟิกเว็บทั้งหมดและการวิเคราะห์ไฟล์ json อาจช้า ลองปิดการใช้งาน AV ของคุณในขณะที่เรียกใช้นักแต่งเพลง


0

แก้ไข:สรุป: ไม่มีวิธีแก้ปัญหาอยู่ที่นี่หรือโดยทั่วไปดูเหมือนว่าจะกันกระสุนได้ ในที่สุดสิ่งที่จะช่วยให้มักจะใช้นักแต่งเพลงที่เพิ่มขึ้นต้องหรือลบเพียงแพคเกจเดียวในช่วงเวลาที่ใช้composer require, composer removeคำสั่งยังนับถือเพิ่ม "เฉพาะที่ไม่ใช่การพึ่งพา" ตั้งค่าใด ๆ ห้องสมุดใด ๆ ที่สามารถเพิ่ม / ลบออกเพื่อประโยชน์ของมันของการปรับปรุง / รีเฟรชคอนฟิกูเรชันแคชล็อก comper.json

จัดกลุ่มประสบการณ์ของฉันด้วยคำตอบจากที่นี่และจากคำถามที่เชื่อมโยง

ก่อนหน้านี้ฉันพยายามพูดถึงวิธีแก้ปัญหาทุกข้อในคำถามนี้จนถึงเวลานี้ อย่างไรก็ตามมันก็ยังไม่ช่วยฉันแม้ว่าฉันจะลอง / สังเกตว่าการติดตั้งไลบรารีเดียวอื่น ๆ นั้นเร็วมากฉันจึงทำการตรวจสอบห้องสมุดทีละไลบรารีซึ่งอาจทำให้คอขวดได้

1) ใช่และฉันพบว่ามันเป็น Codeception"codeception/codeception": "2.4.0",

ใช้เวลาเกือบ 200 วินาทีเพียงอย่างเดียวแม้ว่าจะใช้งานร่วมกับห้องสมุดอื่น ๆ ในบางครั้งก็ใช้เวลาเกือบ 12 นาที นอกจากนี้นักแต่งเพลงดูเหมือนจะไม่สะท้อนแบบเรียลไทม์เมื่อหลังจากเริ่มต้นเป็นเวลา 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) ใช่ Btw, prestissimo ตามที่ฉันกล่าวถึงได้ถูกนำไปใช้แล้วและดูเหมือนว่าจะช่วยได้เช่นเดียวกับคอมพิวเตอร์เครื่องอื่นที่เร็วมากซึ่งมีอินเทอร์เน็ตที่เร็วกว่ามากโดยไม่ต้องใช้รหัสการติดตั้งใช้เวลาเพิ่มขึ้น 5 เท่า 518 วินาทีในขณะที่อาจเป็นเพราะ prestissimo หรือคำแนะนำอื่น ๆ ที่นี่ใช้เวลา 110 วินาที

composer global require hirak/prestissimo

3) ใช่ Windows ทำงานช้าและโฟลเดอร์เสมือนจริงจาก Windows ไปยัง Linux การทำงานนอกโฟลเดอร์ที่แชร์ภายใน Linux ดูเหมือนจะเร่งความเร็วขึ้นประมาณสองเท่า แม้ว่าอาจเป็นเพราะแคช

4) เลขที่

    "process-timeout": 1800,

เป็นกระบวนการเดียวเช่นการชำระเงิน git และดูเหมือนจะไม่ช่วยเลยแม้จะตั้งค่าเป็น 10 วินาทีเนื่องจากมันใหญ่มากอยู่แล้ว อาจช่วยได้ก็ต่อเมื่อมีการหยุดให้บริการทั้งหมด

5) ใช่การติดตั้งโดยลบโฟลเดอร์ผู้จำหน่ายหรือว่างเปล่า = ดูเหมือนว่าใหม่จะเร็วกว่ามาก (ประมาณ 1 นาทีขึ้นไป) มากกว่าการเพิ่มลงในไฟล์ผู้จำหน่ายและแพ็คเกจอื่น ๆ ที่มีอยู่ในนั้น

6) YESดูเหมือนว่าจะช้าลงใน Ubuntu18 apache2 โดยไม่มีภาพ xdebug ของตัวเองมากกว่า Debian10 php-fpm แม้จะมี xdebug ที่ Yii2-starter-kit ด้วยเหตุผลบางอย่างช้ากว่าสองเท่าcat /etc/*-releaseเพื่อค้นหาการกระจาย Linux

7) NO ที่ php -ddefault_socket_timeout=1 /usr/local/bin/composer --verbose --profile installกล่าวถึงในที่นี้ดูเหมือนจะไม่ช่วยให้การ อัปเดตการอ้างอิงของผู้แต่งช้าลงแม้จะมีการตั้งค่าสถานะ --prefer-dist และไม่มีการระบุโปรโตคอล IP v6 v v4 แม้ว่าอาจเป็นเพราะแคช

8) ไม่มีการติดตั้ง zip ดูเหมือนจะไม่ช่วยอะไรการติดตั้ง PHP ได้ติดตั้ง zip ไว้ล่วงหน้า แต่ก็ยังบ่นว่าไม่มีการติดตั้งจนกว่าจะติดตั้งเป็นแพ็คเกจ Linux แต่ทำให้กระบวนการในการจำลองครั้งเดียวช้าลง 100 วินาทีจาก 650 เป็น 750 วินาที สภาพแวดล้อมเดียวกัน 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) ใช่ใช้composer require robmorgan/phinx:@dev --prefer-dist -vvv --profile คำสั่งที่ต้องการเป็นตัวอย่างเช่นการใช้คำสั่งต้องใช้บางส่วนตามที่กล่าวไว้ข้างต้นแทนที่จะเป็นการติดตั้งแบบเต็มผ่านคำสั่งติดตั้งดูเหมือนว่าจะเป็นหนึ่งในการเร่งความเร็วที่สำคัญที่สุดรวมทั้งต้องใช้ @ dev- ตามจุดก่อนหน้านี้เมื่อminimum-stability: devไม่ได้ใช้โดยทั่วไปกับการอ้างอิงทั้งหมดดูเหมือนว่าจะไม่เป็นอันตรายเมื่อใช้ต่อกรณี (การพึ่งพา)


สิ่งนี้เกี่ยวข้องกับคำถามที่ระบุอย่างไร เมื่อสอดคล้องกับคำอธิบายปัญหาไม่มีการพึ่งพาเพียงครั้งเดียวที่ระบุไว้ในปัญหา OPs
Nico Haase

ปัญหาควรได้รับการแก้ไขโดยทั่วไปฉันพยายามสรุปทั้งหมดที่ช่วยฉันและเพิ่มวิธีแก้ปัญหาอื่น ๆ จากที่อื่นไม่เพียง แต่สำหรับสิ่งที่ผู้ถามขอเท่านั้นที่นี่มีสถานการณ์ของผู้ใช้อื่น ๆ อีกหลายพันคน ความต้องการของนักแต่งเพลงเป็นเพียงส่วนย่อยของการติดตั้งนักแต่งเพลง เพียงเพราะฉันใช้คำ / คำสั่ง 'ต้องการ' ในการตอบกลับไม่ได้หมายความว่าจะใช้ไม่ได้กับการติดตั้ง แต่ถ้าคุณต้องการฉันสามารถลบคำนั้นได้ 'ไม่มีรายการอ้างอิงเดียว' แต่เป็นอย่างไร เปลี่ยนแปลงทุกอย่างการติดตั้งผู้แต่งไม่เกี่ยวกับอะไรนอกจากการอ้างอิง
FantomX1

ฉันเปลี่ยนจาก 1 คะแนนเป็น -1 เพียงไม่กี่นาทีหลังจากนั้นเพราะฉันตอบกลับคุณอาจเป็นเพราะคุณโหวตฉันก่อนหน้านี้ บอกฉันว่าคำตอบที่เลือก prestistimo หรือการใช้ ipv 6 หรือการปิดใช้งาน xdebug นั้นไม่ได้เป็นแบบทั่วไปเช่นกันและไม่ได้ใช้กับผู้แต่งคอนกรีตที่ต้องการคำสั่ง ฉันขอโทษสำหรับการแก้ไขอย่างรวดเร็วเล็กน้อย แต่ฉันยังใช้เป็นวิกิส่วนตัวด้วยและฉันไม่ได้ระบุชื่อที่เป็นรูปธรรม แต่จะปรับเปลี่ยน หากคุณไม่เหมือนที่ฉันพิมพ์ผิดให้พูดถึงสิ่งนั้น แต่การไม่เป็นคนทั่วไปก็ไม่สมเหตุสมผล ฉันใช้คำสั่ง 'ต้องการ' เป็นข้อมูลอ้างอิงเนื่องจากการใช้ 'ต้อง' เป็นหนึ่งในวิธีแก้ปัญหานั้นเอง
FantomX1

1
OP ถามว่าเหตุใดนักแต่งเพลงจึงทำงานช้าโดยไม่มีการพึ่งพา - แม้ว่ารายการสิ่งของของคุณอาจช่วยได้ในสถานการณ์อื่น ๆ อีกมากมาย แต่ฉันไม่เห็นว่าเกี่ยวข้องกับคำถามที่กำหนด
Nico Haase

2
Prestissimo ช่วยได้แม้จะมีรายการที่ว่างเปล่า - บางไฟล์จะถูกดาวน์โหลดโดยนักแต่งเพลงโดยไม่คำนึงถึงรายการอ้างอิงดังนั้นการดาวน์โหลดแบบขนานก็ช่วยได้เช่นกัน
rob006


-1

วิธีที่ดีที่สุดในการค้นหาคือการเรียกใช้การอัปเดต / ติดตั้งของนักแต่งเพลงด้วยความละเอียด ผู้แต่ง {install / update} -vvv การใช้แฟล็ก -h อาจช่วยคุณได้ในอนาคต


โปรดแบ่งปันคำอธิบายสำหรับสิ่งนั้น OP กำลังดำเนินการทดสอบโดยใช้รายการการอ้างอิงที่ว่างเปล่า
Nico Haase

-1

ในกรณีนี้หากคุณลบไฟล์ composer.lock ของคุณไปแล้วcomposer installมันจะช้าเกินไปที่จะดาวน์โหลดการอ้างอิง หากเป็นกรณีนี้ให้ใช้composer updateคำสั่งจากนั้นอาจช่วยคุณหรือคนอื่น ๆ ได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.