未定義のエラー:0またはautoload.phpをロードできません。DrushにComposerが必要になりました


7

私は/ usr / local / lib / drush / drushにdrushを、/ usr / local / bin / composerにcomposerをインストールしました。

drush / usr / local / lib / drush / drushを実行しようとすると、次のようになります。

/ usr / local / lib / drush / drush:行129:/Applications/MAMP/bin/php/php5.2.17/bin:is a directory / usr / local / lib / drush / drush:line 129:exec:/ Applications /MAMP/bin/php/php5.2.17/bin:実行できません:未定義のエラー:0 –

または次のようにします。

autoload.phpをロードできません。Drushは、依存関係とオートロードクラスをインストールするためにComposerを必要とします。README.mdを参照してください

何が悪いのですか?誰かが何か提案があれば、MAMPで使用するためにdrushをインストールしたいと思います。READMEを読み終えましたが、何も機能していないようです。


1
環境変数DRUSH_PHPを設定しましたか?Drushは、PHP実行可能ファイル自体ではなく、PHPが存在する「bin」ディレクトリを実行しようとしているようです。tenkenの答えに示されているように、phpを直接指します。
greg_1_anderson 2014年

回答:


8

Drushは必要な作曲家に切り替えました。ドキュメントには、作曲とdrushの両方をインストールする方法の詳細を提供しますが、それはつまるところ:

  • composerをグローバルにインストールします。

    curl -sS https://getcomposer.org/installer | php
    mv composer.phar /usr/local/bin/composer
    
  • drushをグローバルに(ユーザー向けに)インストールします。バージョンを指定できます。

    composer global require drush/drush:6.*
  • .bashrcまたは.zshrcまたはその他の)パスにcomposerパスを追加します。

    export PATH="$HOME/.composer/vendor/bin:$PATH"

mv composer.phar / usr / local / bin / composerを実行すると、拒否された許可メッセージが表示されます。このパスにアクセスできないようです。
chefnelone

このコマンドはスーパーユーザーとして実行する必要があります。サーバーでを使用している場合はsudo、そのコマンドの前にそれを付けます。
T0xicCode

3

Linuxでcomposerを使用してdrushをグローバルにインストールするために使用した手順は次のとおりです(〜/ .composer / vendor / binにrootとしてログインしていないため、まったく意味がありません)。

  1. ルートとしてログイン
  2. 必要に応じてcomposerをインストールします。見る。http://getcomposer.org/doc/00-intro.md#system-requirements
  3. composer global require drush / drush:6. *またはcomposer global require drush / drush:dev-master
  4. cd〜/ .composer
  5. composer config --global bin-dir / usr / local / bin
  6. composer config --global vendor-dir / usr / local / share
  7. 作曲家のインストール
  8. cp -r vendor / / usr / local / share / drush / drush /
  9. cd / usr / local / share / drush / drush
  10. 作曲家のインストール

これで、パスに/ usr / local / binが含まれているすべてのユーザーがdrushを実行できます。

セキュリティ上の注意:特定のグループ内の承認されたユーザーのみがdrushを実行できるように、chownおよびchmod / usr / local / bin / drushする必要がある場合があります。

注:5行目と6行目では、ファイル〜/ .composer / config.jsonを作成しています。行10は、不要な/ usr / local / share / drush / drush / vendor / drushフォルダーを削除(はい、削除)するために必要です。


あなたは私をそこに案内しました。私の場合、単に「/ usr / share / drush7」に移動して「composer install」を実行するだけでした。簡単です。
Meetai.com 2014

8行目でスタックしていると、cp:/ usr / local / share / drush / drush / drush:ディレクトリではない-それ以降のすべてのディレクトリについて
pal4life

2

「OSX + drush + mamp」のようにググったことがありますか... http://kerasai.com/blog/2013/07/30/easy-way-make-drush-work-mamp

MAMPでのdrushの主な問題は、drushがMAMPにパッケージされているPHPを使用せず、OSXに同梱されているPHPがDrupalの要件を満たすように構成されていないことです。OSXに同梱されているPHPを再構成してDrupalの要件を満たすことは可能ですが、MAMPのPHPを使用するのが賢明ではないでしょうか。これを行うには、〜/ .profileに次の行を追加し、必要に応じて調整します。

alias drush='DRUSH_PHP=/Applications/MAMP/bin/php/php5.4.10/bin/php /usr/local/drush/drush'

ありがとう!はい、グーグルで試行錯誤を繰り返しました... .bash_profileに追加した後、drushを実行しようとすると次のようになります。-bash:/ usr / local / drush / drush:そのようなファイルはありませんか、ディレクトリ
大根、2014年

@radishred drushのインストールは/ usr / local / lib / drush / drushにある質問のように見えるので、必要に応じて置き換えてください
Clive

Cliveに感謝しますが、それでも動作しませんでしたので、自作を使い始めました。ほとんどの場合、かなり簡単でした。
大根、2014年

.profileはありませんが、Mountain lionのデフォルトが設定されています
pal4life 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.