composer install vs. composer update

Udostępniając artykuł pomożesz mi rozwinąć blog. Weź w tym udział!

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

Udostępniając artykuł pomożesz mi rozwinąć blog. Weź w tym udział!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *