Próbálom telepíteni a Drush-t Drupal 10 Ubuntu2204 localhosthoz ezen leírás alapján.
A Composer már telepítve volt, így azt nem telepítettem újra a leírás szerint. Korábban működött, csak annyi hibája volt, hogy ahányszor újraindítottam a gépet annyiszor kellett újratelepíteni a Drusht-, de ameddig nem indítottam újra addig működött. Most eljutok addig, hogy belépek a Drupal könyvtárába és futtatom a "composer require drush/drush" parancsot, majd ezt kapom:
$ composer require drush/drush Info from https://repo.packagist.org: #StandWithUkraine ./composer.json has been updated Running composer update drush/drush Loading composer repositories with package information Updating dependencies Nothing to modify in lock file Writing lock file Nothing to install, update or remove Generating autoload files 44 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found Using version ^12.1 for drush/drush
Erre: $ drush --version
Ez jön:
Drush Launcher Version: 0.10.2 The Drush launcher could not find a local Drush in your Drupal site. Please add Drush with Composer to your project. Run 'cd "/home/weboldalútvonala.hu" && composer require drush/drush'
A Drupal könyvtár-szerkezete dj útmutatója alapján készült.
Miért nem látja a Drush Launcher a local Drush-t a Drupal oldalon, amikor az általa adott sorral telepítem. Már 2,5 napja próbálkozok sikertelenül. Átolvastam több telepítési útmutatót, de nem jutottam semmire.
Fórum:
Kiegészítés
Ha ez számít valamit akkor nálam egy Devilboxban fut a Drupal. Azért Devilboxban mert csak ezzel tudtam olyan működőképes localhost szerverkonfigurációt előállítani ami hasonlít a távoli szerver összeállításával és könnyű módosítani az összetevőket. Sajnos a Drush nincs a Devilbox előretelepített vagy az engedélyezéssel beállítható programjai között. Hagyományos telepítéssel mindig hibák jöttek elő mert a telepítési leírások nem egyeztek a rendszerem (Ubuntu 2204.2 LTS) telepítési parancsokra adott reakcióival. Akkor megpróbáltam módosításokat, majd hibákat javítani ami egyre több hibát eredményezett és befulladt a szerver telepítése. Korábban nem használtam Drush-t, de úgy előbb utóbb hibák kezdenek előjönni a frissítések után amit nem is mindig vettem észre csak hónapok múlva. Úgy láttam, hogy a Drush jobban kezeli a frissítéseket mint a kézi frissítés. Most úgy gondolom, hogy Drush nélkül nem érdemes a Drupallal foglalkozni ha valami stabil fejlesztést szeretnék. Most leálltam, mert kifogytam az ötletekből és a neten sem találok már semmi használhatót amit még ne próbáltam volna. 12 éve használok Drupalt, de most mintha kiértem volna a lehetőségeken.
Csőd
Hagyományos telepítéssel telepítettem a Drupalt és úgy telepítettem a Drusht (composer require drush/drush). Csináltam sudo-val és nélküle is, de az eredmény mindig ugyanaz ha lekérem a verziót (drush --version) vagy végre akarok hajtatni valamit a drush paranccsal: "Telepítsem a local Drusht!":
Látom, hogy beleírta magát a Drush a Drupal állományai közé és még sincs ott. Nem látja a Drush launcher. Nincs több ötletem.
Na pontosan ilyenek miatt telepítettem a Devilboxot és nem a szervereket egyesével, mert mindig valami megoldhatatlan hibába futottam bárhogy is próbálkoztam néha több heti szenvedés után is.
Devilbox helyett hasznalj
Devilbox helyett hasznalj Lando-t. Ezzel is mindent be tudsz allitani, raadasul nagyon drupal friendly: https://docs.lando.dev/drupal/
Úgy gondolod, hogy a problémát a Devilbox okozza?
Úgy gondolod, hogy a problémát a Devilbox okozza?
Szerintem vagy a Composer másolja rossz helyre a Drusht vagy a Drush launcher keresi rossz helyen. Nem tudom, hol kellene lennie a Drushnak a projectben vagy hol lehet beállítani, hogy a Drush launcher hol keresse?
Köszönöm az ajánlatod a Landora. Majd egyszer kipróbálom, de tartok tőle, hogy nem menne zökkenőmentesen a Devilbox mellett. Biztosan lennének olyan beállítások amelyeket a Devilbox végzett el és az uninstallálása után is megmaradna és a Landóval ez hibához vezethet. Gondolom, így az egészet egy Ubuntu újratelepítéssel kellene kezdeni és erre most nem állok készen. (Persze csak a sok hasonló rossz tapasztalat alapján mondom)
Ránéztem a Lando telepítésére, ami úgy kezdődik, hogy távolítsam el a régi Dockert és Docker Compose-t. Na itt kezdődnek a problémák. A Devilbox ettől rögtön harakirit követne el és többé soha nem lehetne beüzemelni a Landó pedig a Devilbox miatt nem indulna. Két szék közül a pad alá. Tapasztalatból tudom, hogy a keletkező hibák javítására felesleges egy hetet pazarolni. Legegyszerűbb és gyorsabb ilyenkor a rendszer újratelepítése.
Nem, csak Landoval nem lenne
Nem, csak Landoval nem lenne ilyen problemad.
De termeszetesen a nelkul is meg tudod oldani a Drush Launcher-el - itt van par tipp ezzel kapcsolatban:
https://drupalize.me/tutorial/install-drush-using-composer
https://www.skillmaticace.com/blog/how-use-drush-instead-vendor-bin-drus...
Működik, de így nem az igazi.
Ha beszúrom a drush elé, hogy "vendor/bin/" akkor működik:
vendor/bin/drush --version
vendor/bin/drush cache:rebuild
vendor/bin/drush updatedb
Talán a Path-ba kellene valamit beírni? Lefuttattam az "echo $PATH" parancsot és ott nincs sem "vendor/bin/", sem pedig olyan bejegyzés, amelyben a drush szerepelne. Gondolom, hogy a "vendor/bin/"-t kellene hozzáadni, de teljes elérési útvonallal vagy ha a Drupal könyvtárból futtatom a drush-t akkor csak a "vendor/bin/" kell? Gondolom, teljes elérési útvonallal nem jó, mert akkor globális lenne és másik könyvtárban nem tudnám használni. Vélemyénye valakinek? Valaki tudna egy megfelelő scriptet adni ha ez a probléma?
Ezt a "vendor/bin/" útvonalat amúgy a "composer require drush/drush" parancsnak nem kellene beszúrnia a Path-ba telepítődéskor?
Vagy ezt a hívási problémát lenne hivatott áthidalni a Drush launcher és akkor abban van valami hiba?
Csinálj rá egy aliast
ha annyira zavar, de ez miért Drupal kérdés?
Create a Permanent Alias in Linux
Üdv!
Dudás József
Köszönöm.
Köszönöm a linket. Nagyon hasznos. Viszont ilyen problémák megoldására van egy még egyszerűbb és jobban használható módszerem amivel egyetlen betű beírása nélkül tudom kezelni. Van egy html fájlom, amit munkakezdet előtt megnyitok a böngészőben és a kategorizálva raktam bele különböző parancsokat. A kívánt parancs gombjára kattintok és a parancs kódja a vágólapra kerül. Utána csak be kell kopiznom a terminálba és enter. Viszont nem ez a probléma, hanem az, hogy a Drush launcherben valami hiba van, mert ha jól tudom akkor annak a feladata lenne a drush parancs címzésének kezelése, mivel úgy tudom, erre találták ki.
Miért Drupal kérdés? Azért ha nem is közvetlenül Drupal, de annak a kezelő és fejlesztői részéhez mindenképpen kapcsolódik. Valójában igazad van, mert így, hogy a probléma körvonalazódott, így egy Drush fórumon esetleg nagyobb segítséget kaphatnék.
Nekem az a bajom,
hogy nem igazán értem a problémádat ahogy leírod:
A composer a drush-t a vendor alá telepíti és létrehozza a futtatható fájlt a vendor/bin alá. Innen lehet futtatni a vendor/bin/drush kiadásával. Erre van kitalálva. Ha neked ez macerás akkor létrehozol egy aliast (vagy ha van jobb ötleted használod azt) ami már nem Drupal kérdés hanem oprendszer kérdés.
Üdv!
Dudás József
Drush launcher
Amennyire én tudom a Drush launcher arra való, hogy a parancssorba elég legyen csak a "drush *parancs*" formátumot beírni a drush elérési útvonala nélkül és mindig azt a drush verziót hívja meg amelyik megfelel az adott projektnek, amelyik az adott projectbe lett telepítve.
A drupal. org-ról:
Drush comes as 2-parts:
1) Drush Launcher - this is a global program that launches Drush. Drush itself is installed independently in each project, which allows for having differing versions of Drush between projects. Drush Launcher looks for Drush in a project, and launches that instance of Drush.
2) Drush - this is the actual Drush program. It needs to be installed in each project.
To install Drush (part 2), navigate to the project root, and run composer require drush/drush.
After that you can check if it's working by executing drush from anywhere in your project directory.