macOS用のパッケージ管理システム『Homebrew』が、v.1.9のリリースよりLinuxとWindowsのベータサポートを開始しました。ここでは、Windowsに標準で付属するMicrosoftのLinuxサブシステムである『Windows Subsystems for Linux』(WSL)を導入し、Homebrewを使うための環境構築について記します。
 
※本稿掲出時点ですでにv.2.0.0がリリースされています。内容としてはほぼ同一なので、特に書き換えたりはしていません。
Windows Subsystem for Linuxを導入する
Windowsの『設定』>『アプリ』と進み、右側の『アプリと機能』を開きます。左側の『Windowsの機能の有効化と無効化』から『Windows Subsystem for Linux』を探し、チェックを入れて [OK] を押せば導入されます。
次に、Microsoft StoreからLinuxを導入します。『Ubuntu』や『Debian』など好きなディストリビューションで検索してみて、見つかればそれを導入しましょう。以降の解説ではDebian (9/stretch)を導入した想定で作業を進めています。
Homebrewをインストールする前準備
Linux側にある程度のパッケージが入っていることが要求されます。スタートからさきほどインストールした『Debian GNU/Linux』を実行すると、ターミナル画面が開きます。コマンドを実行していきましょう。
  $ sudo apt-get update
  $ sudo apt-get upgrade
  $ sudo apt-get install curl
  $ sudo apt-get install git
  $ sudo apt-get install ruby
  $ sudo apt-get install binutils
  $ sudo apt-get install build-essentials
このようにして導入すれば、Homebrewの実行に不足ないと思います。
Homebrewのインストールとインストール後の後始末
以下のコマンドでHomebrewが導入されます。
  $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
パスを追加する必要があるので、~/.bashrc を編集します。
  $ vi ~/.bashrc
以下のような感じでパスを追加します。
  PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"
保存したら source ~/.bashrc で設定を読み込んだあと、以下のコマンドを実行すると初期設定が行われ、ヘルプメッセージが表示されるはずです。
  $ brew help
ここで gcc のインストールを推奨されるので、以下のようにして導入します。
  $ brew install gcc
PHPBrewのインストール
Homebrew上でのPHPBrewのインストールで詰まったので、メモを残しておきます。
詰まった原因としてはHomebrew側では gcc をインストールしてありますが、Linux側としてはインストールしていなかったことです。つまり、以下のコマンドで解決できます。
  $ sudo apt-get install gcc
これでgccが実行できるようになるので、以下のようなコマンドでphpbrewが使えるようになりました。
  $ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
  $ chmod +x phpbrew
  $ sudo mv phpbrew /usr/local/bin/phpbrew
  $ phpbrew init
  $ source ~/.phpbrew/bashrc
  phpbrew lookup-prefix homebrew
  ln -s /home/linuxbrew/.linuxbrew/Cellar /home/linuxbrew/.linuxbrew/Homebrew/Cellar
source ... の行は、~/.bashrc の適切な場所にも入れておくといいと思います。最後の行は、PHPBrew側がハードコーディングでパスを見ているようなので、見つからないパスをシンボリックリンクで解決させています(雑)。
  $ sudo apt-get install pkg-config
  $ sudo apt-get install make
  $ sudo apt-get install zlibc
  $ sudo apt-get install libxslt-dev
  $ sudo apt-get install libssl-dev
  $ sudo apt-get install libcrypto++-dev
  $ phpbrew install -j $(nproc) 5.6 +default +fpm -bz2 -zip -openssl=/home/linuxbrew/.linuxbrew/
いくつか - なオプションを設定しているのは、ヘッダ周りでエラーを吐いたものです。開発環境には不要なので、とりあえずそのまま。本来であれば(opensslの例のように)適切なヘッダの場所を指定する必要があると思います。
