Kínlódás a Drush-al

Joee képe

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:

  1. $ composer require drush/drush
  2. Info from https://repo.packagist.org: #StandWithUkraine
  3. ./composer.json has been updated
  4. Running composer update drush/drush
  5. Loading composer repositories with package information
  6. Updating dependencies
  7. Nothing to modify in lock file
  8. Writing lock file
  9. Installing dependencies from lock file (including require-dev)
  10. Nothing to install, update or remove
  11. Generating autoload files
  12. 44 packages you are using are looking for funding.
  13. Use the `composer fund` command to find out more!
  14. No security vulnerability advisories found
  15. Using version ^12.1 for drush/drush

Erre: $ drush --version
Ez jön:
  1. Drush Launcher Version: 0.10.2
  2. The Drush launcher could not find a local Drush in your Drupal site.
  3. Please add Drush with Composer to your project.
  4. 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: 
Joee képe

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.

0
0
Joee képe

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!":

The Drush launcher could not find a local Drush in your Drupal site.
Please add Drush with Composer to your project.
composer require drush/drus

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.

0
0
bcsaba képe

Devilbox helyett hasznalj Lando-t. Ezzel is mindent be tudsz allitani, raadasul nagyon drupal friendly: https://docs.lando.dev/drupal/

0
0
Joee képe

Ú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.

0
0
bcsaba képe

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...

0
0
Joee képe

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?

0
0
dj képe

ha annyira zavar, de ez miért Drupal kérdés?
Create a Permanent Alias in Linux

0
0

Üdv!
Dudás József

Joee képe

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.

0
0
dj képe

hogy nem igazán értem a problémádat ahogy leírod:

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

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.

0
0

Üdv!
Dudás József

Joee képe

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.

0
0