On this page
- Célkitűzés
- Szükséges előismeretek
- Webhely előfeltételei
- Lépések
- Alaprendszer letöltése Composerrel
- Egy korábban tömörített fájlból telepített webhely átalakítása Composeresre
- Közösségi projektek letöltése Composerrel
- Korábban már Composerrel letöltött közösségi projektek frissítése
- Az ismeretek elmélyítése
- Videó
- Egyéb források
3.5. Rendszerfájlok letöltése és frissítése Composer használatával
Használjuk a Composer fejlesztői eszközt arra, hogy letöltsük vagy frissítsük az alaprendszer, a modulok és a sminkek forráskódját, valamint kezeljük azok függőségeit, azaz beszerezzük hozzájuk a további szükséges szoftverelemeket. Ha nem használjuk ezt az eszközt, akkor nyugodtan ugorjuk át ezt a témakört.
A Composer használatához annak először is telepítve kell lennie vagy a helyi fejlesztői környezetünkön, vagy az éles webhelyünk távoli kiszolgálóján. Erről bővebben lásd a 3.2. szakasz - Alapfogalom: további hasznos eszközök témakört.
Tekintve, hogy egy személyi számítógép és egy webkiszolgáló működése sok mindenben eltér, előfordulhat, hogy az alábbiakban leírt, a helyi fejlesztői környezetünkre való telepítésről szóló lépéssor alapján nem sikerül telepítenünk a Composert az éles webkiszolgálón. Ilyen esetekben javasolt lokálhoszton elvégezni vele a frissítéseket az alábbi lépések alapján, majd a módosult könyvtárakat és fájlokat betömörítve felmásolni a távoli tárhelyünkre. Ott kicsomagolva remélhetőleg a helyi webhelypéldányunkkal megegyező fájlrendszert kapunk. Composer használata esetén különösen ügyeljünk az alábbiak módosulásaira a telepítésünk gyökerében:
- vendor könyvtár
- autoload.php fájl
- composer.json fájl
- composer.lock fájl
Ha még nem töltöttük le az alaprendszer forráskódját, és szeretnénk élni a Composer azon áldásos hatásával, hogy automatikusan gondoskodik a Drupal függőségeinek meglétéről, akkor kövessük az alábbi lépéseket:
- Számítógépünk parancssoros ablakában álljunk egy szinttel feljebb, mint amelyik könyvtárban majd szeretnénk, hogy a Drupal létrejöjjön.
Adjuk ki az alábbi parancsot, melyben a
webhelyemrészt helyettesítsük be a létrehozni kívánt könyvtárunk nevével:composer create-project drupal-composer/drupal-project:8.x-dev webhelyem --no-interaction
Sikeres lefutást követően létrejön a webhelyem argumentumként megadott könyvtár, benne pedig egy /web alkönyvtárban a Drupal alaprendszer legfrissebb kiadásának forráskódja. Emellett olyan hasznos fejlesztői eszközöket is kapunk, mint a Drush és a Drupal Console.
Bárkivel előfordulhat, hogy miután már feltelepítette a Drupalt a Drupal.org-ról letöltött zip vagy tar.gz fájlból (tehát Composer használata nélkül), később meggondolja magát és mégis szeretne élni inkább az automatikus függőségkezelés lehetőségével. Szerencsére ez sem lehetetlen: ha már telepítettük a Composert a gépünkre, de az még nem kezeli a Drupal kódbázisát, akkor az alábbi két lépéssel megtehetjük.
-
Webhelyünk gyökérkönyvtárában adjuk ki a
composer global require grasmash/composerize-drupalparancsot, mely letölti és a gépünkön általánosan elérhetővé teszi Matthew Grasmick átalakítóprogramját a Composerhez. -
Ha ez sikeresen települt, utána meghívhatjuk a Composeren keresztül a
composer composerize-drupal --composer-root=. --drupal-root=.paranccsal.
Így futtatva feltérképezi a Drupalunk könyvtárszerkezetét és összegyűjti belőle azokat az információkat, amikre majd a Composer-nek szüksége lesz. Ha webhelyünkhöz már töltöttünk le közösségi modulokat vagy sminkeket, és azokat az ajánlásoknak megfelelően a modules/contrib, themes/contrib, vagy profiles/contrib nevű alkönyvtárakba tettük, akkor ez a program azokat is fel fogja fedezni és hozzáadja őket a Composer listájához. Ha viszont nem tettük őket ilyen alkönyvtárakba, akkor jobban járunk, ha letöröljük őket és a következő részben leírtakat követve újra beszerezzük őket, de immár a Composer segítségével.
Külső függőségei azonban nemcsak az alaprendszernek lehetnek, hanem tulajdonképpen bármely közösségi modulnak vagy sminknek is. Ezért is különösen hasznos, hogy ha már Composerrel kezdtük el felépíteni webhelyünket, akkor azt használhatjuk arra is, hogy beszerezzük vele a többi szükséges kiegészítő kívánt verzióját az alábbi lépéseket követve:
-
Bármikor, ha egy új, az adott webhelyen korábban még nem használt közösségi projektet (modult vagy sminket) szeretnénk hozzáadni a már meglévőkhöz, akkor először is a legelső lépés, hogy pontosan tudnunk kell a letölteni kívánt projekt gépek által használt nevét. Ez mindig csak az angol ábécé kisbetűiből áll, nem tartalmazhat szóközt és szavak elkülönítésére az aláhúzás karaktert használja. Legkönnyebben a Drupal.org portálon a projektoldal webcímének végén találjuk. Például a Geofield modulé a https://www.drupal.org/project/geofield URL-ben a
geofield. Ha megvan a neve, akkor azt a következő parancsban a példaként használt „geofield” helyére behelyettesítve és egy parancssoros ablakban lefuttatva a Composer letölti a modult minden további szükséges függőségével együtt:
composer require drupal/geofield
Miután az előző részeknél leírtak szerint már használunk Composert a webhelyünk szoftverfüggőségeinek automatizált kezelésére, így a következő lépéseket követve könnyedén elvégezhetjük mindezek rendszeres frissítését is.
-
Akárcsak telepítéskor (lásd fentebb), most is tudnunk kell a frissíteni kívánt modulok vagy sminkek gépi nevét. Az alaprendszeré
core, a közösségi projektekét pedig megnézhetjük webhelyünk adminfelületén. Második lépésként meg kell határoznunk, hogy az adott szoftverelem melyik verzióját szeretnénk letöltetni a Composerrel. Egyszerű dolgunk van, ha a legfrissebb verziót kérjük:
composer update drupal/geofield --with-dependencies
Ha valamilyen oknál fogva egy adott verzióra van szükségünk, akkor jó, ha tudjuk, hogy a kötőjeles verziószámok esetén a főverzió számát sosem kell külön megadnunk, hiszen az magától értetődő. Ha tehát azt látjuk a modul projektoldalán, hogy
8.x-1.7(amiben a kötőjel előtti szám webhelyünk Drupal-főverzióját jelöli), akkor a Composernek elég már csak az1.7verziószámot megadnunk. Mindez azonban nem érvényes a Drupal 8 alaprendszerre, mert az a régies kéttagú verziószámok (például „Drupal 7.59”) helyett már a korszerű szemantikus verziószámozás elvét követve háromtagú jelölést használ. Mivel pedig acoremagasabb szintű, mint a kiegészítők, ezért kötőjel sem szerepel benne. Ezt tehát továbbra is ugyanúgy ki kell írnunk a Composer-parancsokban: példáuldrupal/core:8.6.3.composer require drupal/geofield:1.7
+
. Ha minden információ rendelkezésre áll, akkor a parancssoros ablakban webhelyünk gyökérkönyvtárában állva adjuk ki a fentiekhez hasonló parancsunkat, melyben a geofield mintát értelemszerűen a frissíteni kívánt projekt nevére cseréltük.
A Composer használatát kézenfekvő módon annak beépített súgójából ismerhetjük meg. Például a fentebb már említett create-project utasításról a composer help create-project paranccsal olvashatunk bővebben.
Az alább felsorolt közösségi dokumentációk a Drupal.org-on bár angol nyelvűek, de hasznosak lehetnek a téma alaposabb megértéséhez:
- Using Composer to manage Drupal site dependencies (azaz „Composer használata a Drupal függőségeinek kezeléséhez”)
- Update core via Composer (azaz „Alaprendszer frissítése Composerrel”)
- Composerize Drupal (azaz „A Drupal Composeresítése”) program a korábban nem Composerrel telepített Drupal-webhelyek átalakítására.
Közreműködők
E témakör szövegét Jennifer Hodgdon, Hans Fredrik Nordhaug és Joe Shindelar (Drupalize.Me) a Drupal közösségi dokumentációjának „Using Composer to manage Drupal site dependencies” (azaz „Composer használata a Drupal függőségeinek kezeléséhez”) című szócikkéből vették át és szerkesztették, melynek szerzői joga 2000–2025 között azok egyéni közreműködőié. Fordította: Balu Ertl (Brainsum).
Source file: install-composer.asciidoc
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion