色々なレガシーな環境だと、複数バージョンのRubyだけではなく、複数バージョンのPHPを扱える環境が必要になることがあります。
そういう時は、phpenvとrbenvをインストールしましょう。
ですが、phpenvは内部が殆どrbenvになっており、環境変数RBENV_ROOT
を参照しているなどしているので、気をつけなければいけない点があります。
まずはインストール
rbenvとphpenvはhomebrewからインストールするのが簡単です。
rbenvをインストール
とても素直にインストールできます。
$ brew install rbenv
$ brew install ruby-build
rbenvのセットアップ
ここは後で書き換えることになるので飛ばして構いません。
rbenvだけ使いたいのであれば、.bashrc
や.zshrc
などに下記を追加しましょう。
export RBENV_ROOT=/usr/local/bar/rbenv
export PATH=$RBENV_ROOT/bin:$PATH
eval "$(rbenv init -)"
phpenvをインストール
php
関連のものをインストールするために、最初にbrew tap
します。
brew tap homebrew/php
brew install phpenv
これは単にhomebrewの管理対象としてgit clone
しただけなので、インストーラーを使います。
php-buildをインストール
homebrew でもphp-buildをインストールできるのですが、この2つは連携できないようです。
そこで、php-buildに従い、git clone
でダウンロードしましょう。
$ git clone git://github.com/CHH/php-build.git $HOME/.phpenv/plugins/php-build
.bashrc を変更
bashなら.bashrc
を、zshならば.zshrc
に下記の行を追加します。
# export RBENV_ROOT=/usr/local/var/rbenv <= 邪魔になるのでいらない。
export PHPENV_ROOT=$HOME/.phpenv
export PATH="$PATH:$PHPENV_ROOT/bin"
eval "$(rbenv init -)"
eval "$(phpenv init -)"
(任意).rbenv へのシンボリックリンクを作成する。
環境変数RBENV_ROOT
を未定義の場合、.bashrc
内でrbenv本体は~/.rbenv
として扱われます。
もし、homebrewでインストールしたrbenvを使う場合は、.rbenv
をシンボリックリンクとして定義します。
$ ln -s ~/.rbenv /usr/local/var/rbenv
最後に動作確認を
rbenvの確認
rbenv
コマンドが実行できて、rubyがインストールがインストールできることを確認しましょう。
$ rbenv install -l
Available versions:
1.8.5-p113
1.8.5-p114
...
ree-1.8.7-2012.01
ree-1.8.7-2012.02
topaz-dev
$ rbenv install 2.3.1
$ rbenv versions
system
* 2.3.1 (set by /Users/tatsuya.sato/.rbenv/version)
$ rbenv global 2.3.1
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
phpenvの確認
PHP自体のインストールは他にも色々インストールが必要なので、ここではrbenvとの間に影響が出てないことだけを確認しておきましょう。
$ phpenv install -l
Available versions:
5.2.17
5.3.10
...
7.1.0alpha3
master
もし上手く言ってない場合は、Available versionsにrbenv install -l
の結果が出てしまったりします。もしそうなっていたら、.bashrc
の内容や環境変数RBENV_ROOT
がどこかで定義されていないか確認をしましょう。
それではよりよいPHPライフを。