Sobes.tech
Junior

Aký je rozdiel medzi súbormi composer.json a composer.lock?

sobes.tech AI

Odpoveď od AI

composer.json obsahuje závislosti projektu (balíčky a ich verzie), explicitne stanovené (napríklad >=1.0 <2.0).

composer.lock je generovaný súbor, ktorý fixuje presné verzie všetkých nainštalovaných závislostí spolu s ich podzávislosťami.

Rozdiely:

  • Obsah: composer.json — požiadavky na závislosti, composer.lock — presné verzie nainštalovaných závislostí.
  • Autori: composer.json — vývojár, composer.lock — Composer (generované príkazom composer install alebo composer update).
  • Účel: composer.json — definovať závislosti, composer.lock — zabezpečiť opakovateľnosť buildov v rôznych prostrediach.
  • V systémoch správy verzií: Zvyčajne sú oba súbory pridané (git add) a potvrdené (git commit).

Pri inštalácii závislostí, Composer najskôr skontroluje composer.lock. Ak existuje, nainštaluje presné verzie z neho. Ak nie alebo sa vykonáva composer update, závislosti sa vyberajú a inštalujú podľa composer.json, a potom sa composer.lock aktualizuje.