【Drupal】Drushコマンドをインストールする

Drupalを運用する上でdrushコマンドはなくてはならないものです。

もしまだセットアップしていなればdrushコマンドをインストールしておきましょう。

インストールの手段はいくつか用意されています。
Drupalのバージョンや環境に合わせて任意のインストール手段を実施してください。


#検証環境

* Macbook Pro (Retina, 15-inch, Mid 2014)
* Mac OS X 10.11.6 El Capitan
* PHPStorm 2017.3
* VirtualBox 5.2.6
* Vagrant 2.0.2
* CentOS 7.4.1708
* PHP 7.1.14
* Drupal8.4.4


##Comporserでインストールする（D8.4+）

Drupal 8は、モジュールやテーマなどの各種ライブラリ群はComporserでのインストールが推奨されています。

一応、Drushコマンドに関しては```Git```や```PEAR```を使ってインストールをすることも出来ますが、とくに最新バージョンのDrush 9は、Comporserによるインストールのみがサポートされています。

そのため、最新環境を作りたければ必然的にComporserを使ったインストール方法を選択することになります。

###Comporser本体をインストールする

もしまだComporser自体をインストールしていなければ先に入れましょう。

```bash
$ cd /tmp
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
$ composer --version
```
（Drupal 8.4.xは、Drush 8.1.12以降のバージョンが必須になっています）


####Comporserの環境設定を確認する

```bash
$ composer global config --list
```


Comporserでdrushコマンドをインストールする際にunzipが必要になるため、併せてインストールしておきます。

```bash
$ sudo yum install -y zip unzip
```


###drushをインストールする

composerの環境が整ったら、次はdrushコマンドをインストールします。

```bash
$ composer global require drush/drush:dev-master
$ export PATH="$PATH:$HOME/.config/composer/vendor/bin"
$ echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
$ source ~/.bashrc
$ drush --version
Drush Commandline Tool 9.2-dev-dev
```

drushコマンドをグローバルインストールすると、通常はカレントユーザーのホームディレクトリ配下にインストールされます。

```bash
~/.config/composer/vendor/bin/drush
```

composerが参照しているリポジトリによって、Drush 9.x または、Drush 8.x のどちらかがインストールされているはずです。

###drushコマンドを任意のパスにインストールする

drushコマンドなどのcomposerパッケージをホームディレクトリ以外にインストールしたい場合は、configコマンドであらかじめパスを設定した上でインストールを実施すればOKです。

```bash
$ composer global config vendor-dir '/var/lib/vendor'
$ composer global config bin-dir '/usr/local/bin'
$ cat ~/.config/composer/composer.json
$ sudo /usr/local/bin/composer global require drush/drush:dev-master
```

以上により、```/usr/local/bin```配下にdrushコマンドがインストールされます。


###drushコマンドをアンインストールする

もし、composerでインストールしたdrushコマンドを削除したい場合は、以下手順を実施してください。

**方法01）removeコマンドを実行する**

```bash
$ composer global remove drush/drush
```
<br>

**方法02）composer.jsonから行削除してアップデートする**

composer.jsonファイルからdrushの行をコメントアウトしてからアップデートすることで削除することもできます。

```bash
$ vim ~/.config/composer/composer.json
```

```json
{
    "require": {
#        "drush/drush": "dev-master"
    }

}
```

```bash
$ composer global update
```


##Gitでインストールする（D7、D8）

git cloneコマンドを使えば、お手軽に最新版をインストールできます。

```bash
$ cd /opt
$ git clone https://github.com/drush-ops/drush.git
$ cd drush
$ composer install
$ ln -s /opt/drush/drush /usr/sbin/drush
$ drush --version
```


##公式サイトから実行ファイルを取得してインストールする（D6、D7）

2018/03/19現在、`http://files.drush.org/drush.phar `からファイルが削除されているようです。
代替方法としてcomposer、またはgit cloneを使ったインストール方法を選択ください。

**<font color="red">（以下コマンドは現在利用不可）</font>**

```bash
$ cd
$ wget http://files.drush.org/drush.phar 
$ php drush.phar core-status
$ chmod +x drush.phar
$ mv drush.phar /usr/sbin/drush
$ drush init
$ drush --version
```



##PEARでインストールする（D6、D7）

まずPEARを入れます。

```bash
$ sudo yum install php-pear
```

そしたらDrushコマンドをインストールします。

```bash
$ pear channel-discover pear.drush.org
$ pear install drush/drush
$ drush --version
```




以上です。 

念のため、```drush --version```を実行してインストールされたdrushコマンドのバーションを表示して、自分が使っているDrupalバージョンに対応しているかどうか確認しましょう。
Drush docsの対応表にて確認できます。

[Drupal Compatibility - Drush docs](http://docs.drush.org/en/master/install/)