Composer to narzędzie służące do zarządzania zależnościami w projekcie w PHP. Mówiąc (zbyt?) prosto: służy do ściągania zewnętrznych bibliotek do projektu i pomaga zarządzać ich wersjami.
Kiedy install a kiedy update?
Po zdefiniowaniu zależności w pliku composer.json należy uruchomić polecenie
php composer.phar install
Sprawdzi ono, czy istnieje plik composer.lock – jeśli go nie ma, composer zdecyduje jakie wersje bibliotek należy zainstalować, pobierze je do katalogu vendor i utworzy plik composer.lock, w którym zostaną zapisane wszystkie wersje i biblioteki przed chwilą pobrane i zainstalowane.
Plik composer.lock powinien zostać umieszczony w repozytorium kontroli wersji. Każda kolejna instalacja naszego projektu powinna użyć polecenia php composer.phar install, żeby mieć pewność, że na każdym środowisku mamy te same wersje bibliotek.
Plik composer.lock zabezpieczna nas przed automatycznym pobraniem najnowszych wersji naszych zalezności. Dlaczego? Bo trzeba je najpierw przetestować!
Kto odpala composer update?
Już trochę zdradziłam – developer, na środowisku developerskim, po czym testuje czy nic się nie wykrzaczyło. Jak działa polecenie update?
php composer.phar update
Po wywołaniu tego polecenia composer na podstawie pliku composer.json sprawdzi jakie najnowsze wersje bibliotek są dostępne i uaktualni plik composer.lock, a potem zainstaluje najnowsze wersje. Równie dobrze możnaby usunąć plik composer.lock i ponownie wywołać komendę install – dałoby to dokładnie taki sam efekt, co update.
php composer.phar update
Podsumowując
composer install wydaje się bezpieczniejszą opcją, jeśli wywołujesz composer update, raczej powinieneś wiedzieć, co robisz.
Dokumentacja
Artykuł napisany na podstawie dokumentacji composera: https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies