Když jsem četl článek na webu bitExpert, zajásal jsem. Autor popisuje, jak je nový Composer dvaapůlkrát rychlejší při instalaci e-commerce platformy Magento. Tu sice nepoužívám, ale rozhodl jsem se nový Composer vyzkoušet v kombinaci s Drupalem 8.
Jakkoli je správa Drupalu přes Composer návyková, zejména pokud v projektu používáte i knihovny třetích stran, je to přeci jenom časově náročnější než u klasické instalace. Dříve jste si stáhli nějaký modul v administraci nebo přes drush prakticky okamžitě, dnes spouštíte Composer a čekáte, než proběhne jeho kontrola a následně stažení balíčků.
Composer 2.x slibuje výraznou optimalizaci, což vzbudilo mé nadšení. Měl by mít i menší spotřebu paměti. To bych ocenil asi více než tu rychlost. Takto musím u řady projektů spouštět composer update na počítači, na vzdálený server nakopírovat composer.json & lock a tam pak spustit composer install. Jinak Composer na serveru či hostingu havaruje na nedostatku paměti.
Spotřebu paměti ale změřit neumím, takže jsem se potěšil alespoň lepšími čísly u času instalace.
Jak si rozběhnout Composer 2.x
Nejprve něco málo k instalaci aktuální vývojové verze Composeru. Pokud kouknete na jeho domovskou stránku, najdete tam ke stažení poslední snapshot i stable verzi. Ale ty se týkají jedničkové řady.
Instrukce k instalaci ze zdrojového kódu na GitHubu najdete poněkud ukryté, a to na konci dokumentu Contributing to Composer. Tedy:
- Stáhnete z GitHubu klon repozitáře
- Potřebujete fungující composer v jakékoli dosavadní verzi
- Spustíte instalaci dle příkazu ve zmíněném dokumentu
Nemusíte se bát, zkompilovaný Composer nepřepíše balíček ve vašem systému. Najdete jej v podsložce bin/composer, tam kde jste spustili sestavení ze zdrojového kódu.
Jak jsem měřil rychlost Composeru s Drupalem
Příkaz pro instalaci Drupalu v aktuální verzi pomocí composeru je následující:
composer create-project drupal/recommended-project
Vytvořil jsem tedy skript run.sh s následujícím obsahem:
#!/bin/bash composer create-project drupal/recommended-project
Ten jsem následně spouštěl příkazem time bash ./run.sh.
Výsledky jsou následující:
PHP 7.3.9 | Composer 1.10.5 | 1 m 4s |
PHP 7.3.9 | Composer 2.0-dev+source | 21 s |
PHP 7.4.2 | Composer 1.10.5 | 1 m 3s |
PHP 7.4.2 | Composer 2.0-dev+source | 16 s |
Použitá konfigurace: iMac (Retina 5K, 27-inch, Late 2015), 4GHz Intel Core i7, 32 GB RAM, SSD. PHP je z aplikace MAMP. Samozřejmě, před každým testem byla vymazána cache Composeru. I když to tak na ilustračním screenshotu nevypadá ;-)
Composer 2.x přináší i některé další změny a je možné, že určité balíčky a pluginy vám s ním nebudou zatím fungovat stoprocentně. Ostatně, je to vývojová verze. V případě instalace Drupalu jsem musel vypnout kontrolu platformy pomocí přepínače --ignore-platform-reqs.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.
Přidat komentář