Sobes.tech
Junior

Mi a különbség a composer.json és a composer.lock fájlok között?

sobes.tech MI

Válasz az MI-től

A composer.json tartalmazza a projekt függőségeit (csomagokat és azok verzióit), egyértelműen megadva (például >=1.0 <2.0).

A composer.lock egy generált fájl, amely rögzíti az összes telepített függőség pontos verzióját és azok al-függőségeit.

Különbségek:

  • Tartalom: composer.json — függőségi követelmények, composer.lock — telepített függőségek pontos verziói.
  • Szerzők: composer.json — fejlesztő, composer.lock — Composer (a composer install vagy composer update parancs által generálva).
  • Cél: composer.json — függőségek meghatározása, composer.lock — a build-ek reprodukálhatóságának biztosítása különböző környezetekben.
  • Verziókezelő rendszerekben: Általában mindkét fájl hozzáadásra (git add) és commitálásra kerül (git commit).

A függőségek telepítésekor a Composer először ellenőrzi a composer.lock-ot. Ha létezik, akkor abból telepíti a pontos verziókat. Ha nem, vagy a composer update futtatásakor, a függőségek a composer.json szerint kerülnek kiválasztásra és telepítésre, majd a composer.lock frissül.