Undefinierter Fehler: 0 ODER Autoload.php kann nicht geladen werden. Drush benötigt jetzt Composer

7

Ich habe drush in / usr / local / lib / drush / drush und Composer in / usr / local / bin / composer installiert.

Wenn ich versuche, drush / usr / local / lib / drush / drush auszuführen, erhalte ich Folgendes:

/ usr / local / lib / drush / drush: Zeile 129: /Applications/MAMP/bin/php/php5.2.17/bin: ist ein Verzeichnis / usr / local / lib / drush / drush: Zeile 129: exec: / Applications /MAMP/bin/php/php5.2.17/bin: kann nicht ausgeführt werden: Undefinierter Fehler: 0 -

ODER Folgendes:

Autoload.php kann nicht geladen werden. Drush benötigt jetzt Composer, um seine Abhängigkeiten und Autoload-Klassen zu installieren. Bitte lesen Sie README.md

Was mache ich falsch? Ich möchte drush für MAMP installieren, wenn jemand Vorschläge hat. Ich habe die Readme-Datei durchgearbeitet und nichts scheint zu funktionieren.

Radishred
quelle
1
Haben Sie die Umgebungsvariable DRUSH_PHP gesetzt? Es sieht so aus, als würde Drush versuchen, das 'bin'-Verzeichnis auszuführen, in dem sich PHP befindet, und nicht die ausführbare PHP-Datei selbst. Zeigen Sie direkt auf PHP, wie in Tenkens Antwort gezeigt.
Greg_1_anderson

Antworten:

8

Drush wechselte zu einem Komponisten. Die Dokumentation enthält Details zur Installation von Composer und Drush, läuft jedoch auf Folgendes hinaus:

  • Installieren Sie Composer global:

    curl -sS https://getcomposer.org/installer | php
    mv composer.phar /usr/local/bin/composer
  • Wenn Sie drush global installieren (für Ihren Benutzer), können Sie die Version angeben:

    composer global require drush/drush:6.*
  • Fügen Sie den Composer-Pfad zu Ihrem Pfad hinzu (in Ihrem .bashrc oder .zshrc oder einem anderen):

    export PATH="$HOME/.composer/vendor/bin:$PATH"
T0xicCode
quelle
Wenn ich mv composer.phar / usr / local / bin / composer ausführe, wird die Meldung "Berechtigung verweigert" angezeigt. Anscheinend kann ich nicht auf diesen Pfad zugreifen.
Chefnelone
Sie müssen diesen Befehl als Superuser ausführen. Wenn Ihr Server verwendet sudo, stellen Sie diesem Befehl das Präfix voran.
T0xicCode
3

Dies waren die Schritte, mit denen ich drush global unter Verwendung von Composer unter Linux installiert habe (nicht in ~ / .composer / vendor / bin als root angemeldet, was absolut keinen Sinn ergibt):

  1. Melden Sie sich als root an
  2. Installieren Sie gegebenenfalls den Composer. Sehen. http://getcomposer.org/doc/00-intro.md#system-requirements .
  3. Composer Global erfordern Drush / Drush: 6. * oder Composer Global erfordern Drush / Drush: Dev-Master
  4. cd ~ / .composer
  5. Komponistenkonfiguration --global bin-dir / usr / local / bin
  6. Komponistenkonfiguration --global vendor-dir / usr / local / share
  7. Komponisten installieren
  8. cp -r Anbieter / / usr / local / share / drush / drush /
  9. cd / usr / local / share / drush / drush
  10. Komponisten installieren

Jetzt kann jeder Benutzer mit / usr / local / bin im Pfad drush ausführen.

Sicherheitsvorkehrungen: Möglicherweise möchten Sie chown und chmod / usr / local / bin / drush ausführen, damit nur autorisierte Benutzer in einer bestimmten Gruppe drush ausführen können.

Hinweise: In den Zeilen 5 und 6 wird die Datei ~ / .composer / config.json erstellt. Zeile 10 wird benötigt, um den Ordner / usr / local / share / drush / drush / vendor / drush zu löschen (ja, löschen), was nicht erforderlich ist.

Uberhacker
quelle
Du hast mich dorthin geführt. In meinem Fall war es einfach, zu '/ usr / share / drush7' zu gehen und 'Composer Install' auszuführen. Einfach.
Meetai.com
Ich stecke in Zeile 8 fest, es gibt mir den Fehler, dass cp: / usr / local / share / drush / drush / drush: Kein Verzeichnis - Für alle weiteren Verzeichnisse
pal4life
2

Haben Sie nach "OSX + drush + mamp" gegoogelt ... http://kerasai.com/blog/2013/07/30/easy-way-make-drush-work-mamp

Das Hauptproblem bei Drush in MAMP ist, dass Drush nicht das mit MAMP gepackte PHP verwendet und das mit OSX gelieferte PHP normalerweise nicht für die Anforderungen von Drupal konfiguriert ist. Es ist möglich, das mit OSX gelieferte PHP neu zu konfigurieren, um die Anforderungen von Drupal zu erfüllen. Wäre es nicht klug, das PHP von MAMP zu verwenden? Sie können dies tun, indem Sie die folgende Zeile zu ~ / .profile hinzufügen und nach Bedarf anpassen.

alias drush='DRUSH_PHP=/Applications/MAMP/bin/php/php5.4.10/bin/php /usr/local/drush/drush'
Tenken
quelle
Vielen Dank! Ja, ich habe googelt und viele Versuche und Irrtümer durchlaufen ... Nach dem Hinzufügen zu .bash_profile erhalte ich Folgendes, wenn ich versuche, drush auszuführen: -bash: / usr / local / drush / drush: Keine solche Datei oder Verzeichnis
Radishred
@radishred Wie es aussieht, befindet sich Ihre Drush-Installation unter / usr / local / lib / drush / drush. Ersetzen Sie sie also bei Bedarf
Clive
Danke Clive, ich arbeite immer noch nicht, also habe ich wieder mit Homebrew angefangen und war größtenteils ziemlich einfach.
Radishred
Kein .profile, aber standardmäßig auf Mountain Lion für mich
pal4life