Csatlakozz a Slack chatre
Szalai Barna / 2 éve

A composer install és update parancsok különbségének jelentősége

Néhányunknak gondot okozhat, ha nem használjuk jól a composer program install és update parancsát, főleg ha többen is dolgozunk egy adott projecten. Hogy miért fontos, hogy melyiket mikor használjuk, alábbiakban szeretném összefoglalni.

A composer.json fájl szerepét ismerjük, ebben határozzuk meg többek között melyik csomagokból épül fel a rendszerünk. Ehhez adjuk hozzá azokat a csomagokat, amelyekre szükségünk van a fejlesztés, tesztelés során. Amikor először telepítjük a Laravel keretrendszert, létre jön egy composer.lock nevű fájl, ami részletesen tartalmazza, hogy pontosan melyik verziójú csomagok lettek telepítve.
Amikor kiadunk egy újabb composer update parancsot, mert pl. szükségünk van egy újabb csomagra, akkor a composer megnézi – a megadott csomag telepítésén túl - , hogy az összes telepített csomagnak van-e új verziója, és ha van, akkor a verzió beállításnak megfelelően letölti és installálja az újabb verziókat.

Hol lehet itt hibába ütközni? Ha jön egy új kolléga a céghez, kiadjuk neki feladatként, hogy klónozzon le egy adott projectet, amiben dolgozni fog, ha beírja a composer update parancsot, akkor nem ugyan azok a verziójú csomagok fognak letöltődni, mint amelyekkel tesztelten, stabilan működik az oldalunk, alkalmazásunk, hanem az akkor legfrissebbek, ez által előfordulhat, hogy hibásan fog működni pl. egy “braking-change” miatt a kódja az ő lokális fejlesztő környezetén.

A másik eset, ha az éles szerveren futattunk composer update parancsot, az új csomagot telepítendő, még nagyobb bajban lehetünk, mert egyből jöhet a Whoops.. hibaüzenet és az oldal/alkalmazás nem fog menni.

Tehát, ha egy adott állapotban, minden composer csomag stabil működést eredményez, akkor annak a composer.lock fájlját commitolnunk kell a repository-ba, és aki letölti újonnan a repo-t, feltétlen composer install parancsot kell kiadjon, vagy, ha éles szerveren kell hozzáadjuk azt az új csomagot, akkor ott is az install parancsot adjuk ki, ami a composer.lock fájlból veszi az információkat a pontos verziók telepítéséhez.

Azt már nekünk kell menedzselnünk, hogy egy valaki adjon hozzá composer csomagot a rendszerhez, és ha ez után stabil a rendszer és minden rendben működik, a többi kollégának le kell kérnie a módosult composer.lock fájlt (is), hogy náluk is ugyan azok a verziók legyenek meg.

Végül, ha csak egy/több új csomagot akarunk a rendszerhez adni, a composer install parancsra lesz szükségünk, mert az csak azt az egy csomagot teszi fel, a többit nem fogja frissíteni.

 Vissza a cikkekhez