さくらのレンタルサーバーで drush の自動補完がきかない問題の解決方法

さくらインターネットのレンタルサーバーで Drupal を使うときに起こる問題の解決方法についてです。

さくらで Drush をセットアップし自動補完用のスクリプトも読み込むようにしたのに、自動補完がきかないことがあります。 drush コマンドは使えるのに自動補完がきかない、そんな場合には drush コマンド、 drush エイリアスのいずれも認識されていないことが原因の可能性が大きいでしょう。

原因

drush コマンド、 drush エイリアスが認識されていないため。

解決方法

~/.bash_profile 内で 適切に drush コマンド用のパスの設定をした後、そして drush.complete.sh をロードする前に alias drush='drush' などとして drush エイリアスを作成すれば OK です。

# in ~/.bash_profile
# Composer 製の drush コマンドがあるディレクトリを PATH に追加
PATH="$PATH:~/.composer/vendor/bin"

# 自動補完用のスクリプトを読み込む
if [ -f ~/.composer/vendor/bin/drush.complete.sh ]; then
  # 補完スクリプトのためにエイリアスを作成
  # この時点で drush コマンドは使える必要あり
  alias drush='drush'
  source ~/.composer/vendor/bin/drush.complete.sh
fi