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 (acomposer installvagycomposer updateparancs á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.