web-dev-qa-db-ja.com

composerをインストールした後:「drushコマンドXが見つかりませんでした」

編集:composer-疑わしいcomposerはドラッシュが壊れている可能性があります。

D7でエラスティック検索をテストしたい。 Drushを使用してD7の新規インストールをインストールし、次にビュー、elasticsearch_connector、ライブラリをインストールしました。その時点で、ウォッチドッグはelasticsearch-phpライブラリが欠落していることを示しました。

私は このライブラリを取得するためのElasticsearchの指示 に従い、作曲家をインストールしようとしました:

/sites/mysite $ curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /sites/aarp/composer.phar
Use it: php composer.phar
/sites/mysite $ Sudo mv composer.phar /usr/local/

composerのエイリアスを~/.profileに追加しました。それ以降、drushコマンドを使用できませんでした(以下を参照)。それ以来、 composer drushをインストールするために使用されます なので、これが私のトラブルの原因だと思います。

/sites/mysite $ drush en composer_manager -y
composer_manager was not found.                                                                                                                                        [warning]
The following projects provide some or all of the extensions not found:                                                                                                [ok]
composer_manager
Would you like to download them? (y/n): y
cProject composer_manager (7.x-1.7) downloaded to sites/all/modules/composer_manager.                                                                                   [success]
dThe following extensions will be enabled: composer_manager
Do you really want to continue? (y/n): y
composer_manager was enabled successfully.                                                                                                                             [ok]
One or more extensions have dependencies managed by Composer.
Update packages managed by Composer? (y/n): y
Download and install the Drush Composer extension? (y/n): y
Directory /Users/mmutrux/.drush exists, but is not writable. Please check directory permissions.                                                                       [error]
Project composer (8.x-1.x-dev) could not be downloaded to /Users/mmutrux/.drush/composer.                                                                              [error]
The drush command 'composer' could not be found.                                                                                                                       [error]
/sites/mysite $ chgrp _www /Users/m
macadmin/ mmutrux/  
/sites/mysite $ chgrp _www /Users/mmutrux/.drush/
chgrp: you are not a member of group _www
/sites/mysite $ chgrp _www /Users/mmutrux/.drush/
/sites/mysite $ chmod 777 /Users/mmutrux/.drush/
chmod: Unable to change file mode on /Users/mmutrux/.drush/: Operation not permitted
/sites/mysite $ Sudo chmod 777 /Users/mmutrux/.drush/
Password:
/sites/mysite $ drush en composer_manager -y
The drush command 'en composer_manager' could not be found.  Run `drush cache-clear drush` to clear the commandfile cache if you have installed new extensions.        [error]
/sites/mysite $ drush cache-clear drush
The drush command 'cache-clear drush' could not be found.  Run `drush cache-clear drush` to clear the commandfile cache if you have installed new extensions.          [error]

どこへ行くの?

編集:コメントへの応答として追加されました

/sites/mysite $ which drush
/opt/local/bin/drush
/sites/mysite $ drush --version
The drush command 'version' could not be found.  Run `drush cache-clear drush` to clear the commandfile cache if you have installed new extensions.                    [error]
/sites/mysite $ Sudo drush --version
The drush command 'version' could not be found.  Run `drush cache-clear drush` to clear the commandfile cache if you have installed new extensions.                    [error]
/sites/mysite $ drush --version -v
Initialized Drupal 7.35-dev root directory at /sites/aarp                                                                                                                 [notice]
Initialized Drupal site default at sites/default                                                                                                                          [notice]
The drush command 'version' could not be found.  Run `drush cache-clear drush` to clear the commandfile cache if you have installed new extensions.                    [error]
5
doub1ejack

これが誰かに役立つかどうかはわかりませんが、この問題が発生した場合:

これは最初から権限の問題のように思われたので、チャットでは次のようにします。

  • 古いdrushとcomposerインスタンスを削除しました。
  • インストールされたComposer
  • GithubからDrushをダウンロード
  • Composerを介してインストールされた依存関係

Drushの新しいコピーを入手したら、drushが正常に機能するようになりました。使用していたマシンに起因する小さな問題がいくつかありました。

1
burnsjeremy

Free Radicalのコメントに触発されたため、.composerディレクトリを削除しなくても動作します。

  1. drush cc all外部 the Drupalルートディレクトリ
  2. drush cc all内部 the Drupalルートディレクトリ

次のコマンドを使用してD7に Composer Manager をインストールしようとした後、同じ問題に悩まされました:

drush en composer_manager -y

インストールがクラッシュし、その後、drushはeveryXに対して「drushコマンドXが見つかりませんでした」と応答し、ccおよびversion

これは私がそれを再び機能させるためにやったことです:

  1. ホームディレクトリに作成された.composerという名前のディレクトリを削除しました。
  2. Drupal root)のdrush cc alloutsideを実行しました(これで動作します)。
  3. Drupal rootに移動し、再度drush cc allを実行しました(これで機能します)。

allこれらの手順が必要かどうかを確認するためのテストは行っていません-再インストールせずにこの状態から回復したい人に役立つ場合にだけ投稿してくださいdrush

1
Free Radical

私の場合、DockerイメージでDrupalを Bowline を使用して使用しましたが、同じ問題が発生しましたが、drush cc allメソッドが機能せず、使用したくありませんでした。 trash Bowlineのcomposerインスタレーション。

しかし、上記のヒントを参考にすると、プロジェクトルート(Bowlineのbinと同じレベル)の修正済みDrushの./.drush/cacheディレクトリを手動で削除することがわかりました。私は同じ状況の誰かを助けることを願っています。

1
admataz

ワンライナーアプローチ...

pushd $HOME && drush cc drush && popd
0
jwal