A Composer telepítése Ubuntu rendszeren: Fájdalommentes telepítési útmutató

Szoftverkészítéskor, legyen az egyszerű vagy összetett projekt, szinte adott, hogy a szoftver működése bizonyos külső könyvtáraktól, moduloktól vagy összetevőktől függ. A szoftver megfelelő működéséhez szükséges külső erőforrásokat függőségeknek nevezzük.

A függőségek hatékony kezelése minden projektben kulcsfontosságú folyamat. Szerencsére léteznek különböző eszközök, amelyek automatizálják a függőségkezelést és megkönnyítik a fejlesztők munkáját. Fejlesztőként a függőségkezelési eszközét befolyásolja az a nyelv és az ökoszisztéma, amelyben dolgozik.

Abban az esetben, ha a projektjeit PHP használatával építi fel, a Composer-t érdemes választania, mint választott eszközt a projektek függőségének kezelésére.

Mi az a zeneszerző?

Zeneszerző egy népszerű eszköz, amelyet a PHP függőségek kezelésére terveztek és építettek. A Composer, amelyet nagymértékben ihletett a csomópont npm és ruby ​​bundlerje, lehetővé teszi, hogy deklaráld azokat a külső könyvtárakat, amelyektől PHP-projekted függ, és kezelni fogja őket helyetted.

Ez azt jelenti, hogy a Composer telepíti a projekthez szükséges összes függőséget, és frissíti is azokat.

Azt is fontos megjegyezni, hogy a Composer nem olyan csomagkezelő, mint az Apt vagy a Yum. Bármennyire is foglalkozik a könyvtárakkal, ezek a könyvtárak alapértelmezés szerint nincsenek globálisan telepítve egy gépre. Ehelyett a Composer projektenként kezeli a függőségeket, és így csak helyileg telepíti a függőségeket a PHP projekten belüli könyvtárba.

A Composer azt is lehetővé teszi, hogy megtudja, mely csomagok mely verzióit lehet és kell telepíteni a projektben, és ezeket telepíti is. Egyetlen parancsot is biztosít, amellyel frissítheti a projekt összes függőségét.

A Composer elengedhetetlen eszköz a PHP-t használó projektek készítéséhez. A Composer hatékony függőségi kezelést tesz lehetővé, és egy tárhelyet is biztosít az úgynevezett Csomagoló amely PHP-csomagok és -könyvtárak széles választékát kínálja, amelyeket függőségekként adhat hozzá PHP-projektjeihez.

A megfelelő függőségkezelés egy olyan eszközzel, mint a Composer, lehetővé teszi a szoftverek moduláris fejlesztését, a zökkenőmentes verziókezelést és a csapatok közötti fokozott együttműködést. Ezenkívül segít elkerülni a kompatibilitási problémákat a szoftverekben, és segít karbantarthatóbbá tenni a projekteket.

Most nézzük meg, hogyan telepítheti a Composert az Ubuntuban. Először azonban nézzük meg azokat az előfeltételeket, amelyeket teljesítenie kell az Ubuntu telepítéséhez.

A Composer Ubuntuban való telepítésének előfeltételei

A Composer telepítése Ubuntuban:

1. Győződjön meg arról, hogy root felhasználóként hozzáférhet a terminálhoz, és végrehajthatja a parancsokat.

2. A PHP 7.2.5 és újabb verziója legyen telepítve a gépére. A terminál megnyitásával és végrehajtásával ellenőrizheti, hogy a PHP telepítve van-e a gépen és annak verziója

php -version

Ha telepítve van a PHP, akkor egy ilyen kimenetet kell kapnia:

Ha a PHP nincs telepítve, hajtsa végre a következő parancsot a telepítéshez:

sudo apt install php

3. Legyen verziókezelő rendszere. A Git kiváló választás erre. Erősítse meg a Git telepítését a következő futtatással:

git --version

Ha a Git telepítve van, akkor a következő verziószámot kapja:

Ha a Git nincs telepítve, futtassa a következő parancsot a telepítéshez

sudo apt install git

4. A fájlok kicsomagolásához használjon archívumkezelőt a gépére. Ehhez elegendő lesz a kátrány. Ellenőrizze, hogy a tar telepítve van-e a gépen, futtassa:

tar --version

Ha nincs tar, akkor a következő futtatásával telepítheti:

sudo apt-get install tar

Miután teljesítette a fenti előfeltételeket, készen áll a Composer telepítésére.

  Hogyan készítsünk sorokat a Pythonban, és miért használjuk őket?

Hogyan telepítsük a Composert Ubuntu-ra

A Composer telepítésekor telepítheti globálisan a gépére, vagy helyileg PHP telepítés keretében. A globális telepítés lehetővé teszi a Composer elérését és hívását a számítógép bármely könyvtárából, ellentétben a helyi telepítéssel.

A Composer globális telepítése a Composer telepítésének javasolt módja, és mi ezt fogjuk tenni.

A Composer telepítése az Ubuntu-ra a terminálon keresztül magában foglalja a Composerben található szkriptek futtatását Letöltés oldalon.

Kövesse a következő lépéseket a Composer globális telepítéséhez az Ubuntun:

1. Nyissa meg a terminált, és hajtsa végre a következő parancsot a Composer telepítőjének az aktuális könyvtárba való letöltéséhez.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

2. Hajtsa végre a következő parancsot az SHA-384 telepítő ellenőrzéséhez.

php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

A telepítő SHA-384 egy kriptográfiai hash érték, amely a Composer telepítő integritásának ellenőrzésére szolgál. Más szóval, ez egy biztonsági intézkedés annak biztosítására, hogy a letöltött telepítőt nem manipulálták vagy sérültek.

A fenti parancs futtatása egy olyan kimenetet generál, amelyen a Telepítő ellenőrizte az alábbiak szerint. Folytassa, ha ilyen kimenetet kap, amely megerősíti a telepítő integritását.

3. A telepítő futtatásához hajtsa végre a következő parancsot

php composer-setup.php

Meg kell kapnia egy ilyen kimenetet, amely megerősíti, hogy a Composer telepítése sikeres volt.

Figyelje meg, hogy a composer.phar, amely a Composer futtatható fájlja, hozzáadásra került ahhoz a könyvtárhoz, amelybe telepítette.

4. Mivel a Composer telepítése sikeresen megtörtént, futtassa a következő parancsot a korábban letöltött telepítő eltávolításához, mivel már nincs rá szüksége.

php -r "unlink('composer-setup.php');"

5. Annak érdekében, hogy a Composer globálisan telepítve legyen, és bármely könyvtárból meghívhassa, a composer.phar fájlt el kell helyeznie a PATH egyik könyvtárába. Ehhez hajtsa végre a következő parancsot, és adjon meg jelszót, amikor a rendszer kéri

sudo mv composer.phar /usr/local/bin/composer

6. A következő parancs végrehajtásával ellenőrizze, hogy a Composer telepítése sikeres volt-e:

composer

Ha a Composer telepítése sikeres volt, akkor ilyen kimenetet kell kapnia.

A zeneszerző használata

Ha a Composer telepítve van, a következő lépés a függőségek kezelése. Mint korábban említettük, a Composernek van egy tárháza, az úgynevezett Csomagoló amely a Composer segítségével függőségként telepíthető csomagokkal rendelkezik.

A Composer használatának megtekintéséhez telepíteni fogunk egy csomagot http-üzenet amely a HTTP üzeneteket leíró interfész.

A Composer használata a http-üzenet telepítéséhez:

1. Hozzon létre egy új mappát composerDemo néven, és navigáljon benne a következő parancsok végrehajtásával a terminálban, ill.

mkdir composerDemo
cd composerDemo

2. Hozzon létre egy .gitignore fájlt a könyvtárban a következő parancs végrehajtásával:

touch .gitignore

Ez a fájl lehetővé teszi annak meghatározását, hogy mely fájlokat ne kövesse nyomon a Git.

3. Hozzon létre egy composer.json fájlt a projekthez a következő végrehajtással:

composer init

A composer.json a Composer által használt központi konfigurációs fájl. Ebben megadhatja a projektjét leíró metaadatokat, és megadhatja azokat a függőségeket is, amelyekre a projekt támaszkodik, hogy a szerző automatikusan kezelhesse azokat.

  14 legjobb könyvjelzőkezelő a linkek mentéséhez és újralátogatásához

A fenti parancs az alábbi kimenethez vezet:

Az útmutató végigvezeti a composer.json fájl létrehozásán. Az első promptban nyomja meg az Enter billentyűt a javasolt projektnév elfogadásához.

4. A következő promptban adja meg a projekt rövid leírását, majd nyomja meg az Enter billentyűt. Beillesztheti az alábbi rövid leírást, és nyomja meg az Enter billentyűt.

A demonstration of how to use PHP Composer

5. A következő prompt egy szerzőt kér; nyomja meg az Entert az alapértelmezett használatához.

6. Ezután meg kell adnia a Minimális stabilitást. Ehhez üresen hagyhatja az Enter billentyű lenyomásával a következő promptra lépéshez.

7. A következő promptban meg kell adnia a csomag típusát. Ehhez adja meg a projektet, és nyomja meg az Enter billentyűt az alábbiak szerint:

8. A licencet kérő promptban nyomja meg az Enter billentyűt, hogy üresen hagyja, és lépjen a következőre

9. Ezután a rendszer megkérdezi, hogy szeretné-e megadni a függőségeit; ehhez nyomja meg az Enter billentyűt az Igen kiválasztásához. Ez ezután felkéri, hogy keressen egy csomagot.

10. A csomag prompt kereséséhez írja be a http-üzenetet, és nyomja meg az enter billentyűt. Ez megkeresi a megadott csomagot, és az alábbi keresési eredményeket adja vissza:

A minket érdeklő csomag az első psr/http-message nevű csomag. A kiválasztásához írja be a hozzá tartozó számot, és nyomja meg az Enter billentyűt. Ezért írja be a 0-t (nulla), és nyomja meg az Enter billentyűt.

11. A következő felszólítás az igényelt verziókényszer megadása (vagy a legújabb verzió használatához hagyja üresen). Ehhez meg kell adnunk a használni kívánt verziót, vagy üresen kell hagynunk a legújabb verzió használatához.

A csomag legfrissebb verziójának megtekintéséhez látogasson el a Packagist oldalára. A legújabb verzió a 2.0, az alábbiak szerint:

A Composer automatikusan frissíti a csomagokat, amint elérhetők a frissítések. Azonban nem szeretné, hogy olyan verzióra frissüljön, amely visszafelé nem kompatibilis a projektben jelenleg használt verzióval, mivel ez megtöri a PHP kódot. Ennek elkerülése érdekében írja be a következőket a csomag verziójának megadásához, és nyomja meg az Enter billentyűt:

^2.0

Ez arra utasítja a Composert, hogy telepítse a 2.0-s vagy újabb verziót mindaddig, amíg ez a magasabb verzió visszafelé kompatibilis.

12. Ezután a rendszer felkéri, hogy keressen másik csomagot; egyszerűen nyomja meg az Enter billentyűt, hogy a következő promptra lépjen, és ne keressen másik csomagot.

13. Amikor a rendszer kéri a fejlesztői függőségek meghatározását, nyomja meg az Enter billentyűt. Csomagprompt keresésekor nyomja meg az Enter billentyűt a kihagyáshoz, mivel a fejlesztői függőségeink megegyeznek az élő függőségeinkkel.

14. A következő prompt kérni fogja a PSR-4 automatikus betöltési leképezés hozzáadását. Nyomja meg az Entert a kihagyáshoz.

15. Ezzel megtekintheti az imént létrehozott composer.json fájl előnézetét, az alábbiak szerint:

Nyomja meg az Entert a generálás megerősítéséhez.

16. A következő kérdés megkérdezi, hogy kívánja-e telepíteni a megadott függőségeket. Ehhez nyomja meg az Enter billentyűt a telepítéshez az alábbiak szerint:

  Emelkedhetnek a GPU-árak 2023-ban?

17. A terminálban írja be a következő parancsot az imént létrehozott projekt kódszerkesztőben való megnyitásához

code .

Az eredmény az alábbiakban látható:

Figyelje meg, hogy egy composer.json fájl jött létre, és függőségeink a követelmény kulcs alatt vannak megadva. A telepített függőségek egy szállító nevű könyvtárba kerülnek telepítésre.

18. Az összes függőséget tartalmazó szállítói könyvtár nyomon követésének elkerülése érdekében nyissa meg a .gitignore fájlt, és illessze be a következő sort.

/vendor/

Javasoljuk, hogy ne kövesse nyomon ezt a fájlt, mert nagyon nagy lehet, és a függőségek könnyen telepíthetők automatikusan a composer.json fájlból.

19. A composure.json fájl létrehozása után könnyen hozzáadhat új függőségeket a composure.json fájl szükséges szakaszának szerkesztésével. Például egy log nevű csomag hozzáadásához adja hozzá a kívánt szakaszhoz az alábbiak szerint:

"require": {
        "psr/http-message": "^2.0",
        "psr/log": "^3.0.0"
    },

20. Az új függőség projektbe való telepítéséhez lépjen vissza a terminálhoz, és hajtsa végre a következőt:

composer update

Az eredmény az alábbiakban látható:

Ezzel telepíti az imént a composure.json fájlhoz adott csomagot.

Ezzel készen áll arra, hogy elkezdjen dolgozni a PHP-projektjein, és a Composer segítségével kezelje a projekt függőségeit.

A Composer optimalizálása a jobb csomagkezelés érdekében

Annak érdekében, hogy a Composer hatékonyabban működjön, győződjön meg róla, hogy pontosan adja meg a függőségek verziókorlátait. Erre volt példa, amikor a „^2.0”-t csináltuk.

Kerülje a nagyon tág verziókorlátokat, például a „*”-t, ami azt jelenti, hogy a Composer bármilyen verziót telepíthet. Ez kompatibilitási problémákhoz és stabilitási problémákhoz vezethet a projektben, mivel nem lehet megjósolni, hogy a Composer melyik verzióját fogja telepíteni.

Ezenkívül ne adjon túl sok egyéni szkriptet a composer.json fájlhoz. Csak a szükséges szkripteket adja hozzá. A túlzott szkriptek gyakran hatalmas többletköltséget okoznak a függőségkezelés során.

A Composer működési sebességének optimalizálásához engedélyezze a PHP curl kiterjesztését. Használhat Composer beépülő modulokat is, mint például a hirak/prestissimo, amelyek párhuzamosítják a Composer műveleteit, ami viszont felgyorsítja a csomagok telepítését.

A Composer gyorsítótárának tisztításával eltávolíthatja a régi és nem használt csomagokat a teljesítmény optimalizálása érdekében. Ezenkívül ne felejtse el követni és véglegesíteni azt a szállítói könyvtárat, amelybe a Composer telepítette a csomagokat. Ez segít felgyorsítani a projektek tárolóinak klónozását és frissítését.

A Composer eltávolítása

Ha már nem szeretné használni a Composert az Ubuntuban, eltávolíthatja a következő parancs végrehajtásával:

sudo rm -rf /usr/local/bin/composer

A Composer sikeres eltávolítását a következő parancs végrehajtásával ellenőrizheti:

composer

Ha teljesen eltávolította, akkor a következő kimenetet kell kapnia:

Következtetés

A függőségkezelés kulcsfontosságú folyamat a projektek felépítése során. A hatékony függőségkezelés biztosítja, hogy elkerülje a kompatibilitási problémákat a projektekben, és több karbantartható projektje legyen.

Ezenkívül lehetővé teszi a moduláris szoftverfejlesztést és a fejlesztői csapatok közötti fokozott együttműködést. Ha PHP-ben épít projekteket, fontolja meg a Composer hatékony használatát, és könnyen kezelje a projektben lévő függőségeket.

Ezután arról is olvashat, hogy mi az Ubuntu PPA, és hogyan kell telepíteni.