Drupalを開発する環境には、やはりDrushの存在が無視できないです。Drushがあれば、パッケージの更新、モジュールのインストール、キャッシュのクリアなどで、コマンド一行で完結ができます。
DrushがShellスクリプト(LinuxまはUnix)なので、Windowsの環境に動かせるのは少し面倒見たいですが、Windowsの開発環境でDrushをインストールしたいです。Drushインストールの情報を調べてみましたが、WindowsにDrushのパッケージがあるようで、そのパッケージをダウンロードしてインストールしてみましたが、いろいろなエラーが出てきて、困っていました。
いろいろ調べてみましたが、やはり上記Windows向けのパッケージをインストールではなく、Composerからインストールして、各必要な部品を揃ったら、うまく動作しました。これらのエラー及びインストール手順を纏めました。
Windows向けのDrushパッケージのインストール
- Drushの本家(http://docs.drush.org/en/master/install/)からDrush7.0.0をダウンロード
- そのページのインストール手順でローカルに展開して、インストールました。
- WindowsのPowerShellを開いて、Drushの状態(drush status)を調べてましたが、問題なく動作していました。
- 但し、パッケージのインストール(drush dl og)をしようとしたときに、エラーが発生ました
PS C:\develop\dev_sources\php\drupal> drush dl og simplexml_load_file(): I/O warning : failed to load external entity "" Project.php:72 [warning] Failed to get available update data from https://updates.drupal.org/release-history/og/7.x [error] Could not download requested project(s). [error]
- エラーイメージは以下のようです
- このエラーについていろいろ調べましたが、恐らくDrushに使用しているPHPのバージョンが合わないようです
インストールDrushステップバイステップ
- Windows向けのパッケージのインストールをやめて、少し面倒な方法でDrushのインストール(http://drupalistasgroup.com/installing-drush-7-windows-xampp)をしました。
- Windowsバージョンのgit bash(https://git-scm.com/downloads)をダウンロードしてインストール
- WindowsバージョンのComposer(https://getcomposer.org/)をダウンロードして、インストール
- DOSプロンプトを起動して、「composer -V」を入力し、バージョンの表示確認ができたら、インストール成功となります。
- WindowsバージョンのLibArchive(http://gnuwin32.sourceforge.net/packages/libarchive.htm)をダウンロードして、インストール
- WindowsバージョンのGzip(http://gnuwin32.sourceforge.net/packages/gzip.htm)をダウンロードして、インストール
- bashtarの方がtarより安定的で、C:\Program Files\GnuWin32\bin\bsdtar.exe をコピーして C:\Program Files\GnuWin32\bin\tar.exe に名前を変更する
- WindowsバージョンのWget(http://gnuwin32.sourceforge.net/packages/wget.htm)をダウンロードして、インストール
- システムパスに「C:\Program Files\GnuWin32\bin」を追加します
- DOSプロンプトを起動して、「composer global require drush/drush:dev-master」を入力し、Drushをインストールする
- インストール先:「c:\users\[user-count]\AppData\Roaming\Composer\Vendor\drush」に(現時点はversion8)インストールされたはずです。
- システムパスに「c:\users\[user-count]\AppData\Roaming\Composer\Vendor\drush\drush」を追加します。
- システムパスが追加されたら、DOSプロンプトを一度閉じて、再度起動して、Drushのコマンドを入力して、動作を確認する
Drushのアンインストールと別のバージョン指定してインストール
- Drushのアンインストール方法を探してみたが、あまり見つかりませんでした
- Drushのバージョンアップ: drush self-update
- Windowsの環境では、Drushインストールされているディレクトリを削除して、再インストールすることができます
- 「「c:\users\[user-count]\AppData\Roaming\Composer\Vendor」ディレクトの下にある「drush」フォルダを削除します
- バージョン指定(例:バージョン8.x)してDrupalのインストール:「composer global require drush/8.x」
マルティサイトにDrushの使用方法
- Drupalのマルティサイトをインストールした場合に、Drushのコマンドがどのサイトに適応するかは指定する必要があります
- Drush用のマルティサイトに指定するエリアスの作成方法がよくあります
- Linux環境のエリアス作成なので、Windows環境には適応できない
- 直接にサイト名を指定する方法もあります
- drush -l [site url] -y cc all -> drush -l 2drills-d7.local -y cc all