phpenvとrbenvをMac共存させる

More than 1 year has passed since last update.

色々なレガシーな環境だと、複数バージョンのRubyだけではなく、複数バージョンのPHPを扱える環境が必要になることがあります。

そういう時は、phpenvとrbenvをインストールしましょう。
ですが、phpenvは内部が殆どrbenvになっており、環境変数RBENV_ROOTを参照しているなどしているので、気をつけなければいけない点があります。

まずはインストール

rbenvとphpenvはhomebrewからインストールするのが簡単です。

rbenvをインストール

とても素直にインストールできます。

install_rbenv.sh

$ 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でダウンロードしましょう。

install_php-build.sh

$ 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をシンボリックリンクとして定義します。

create_symlink_for_rbenv.sh

$ 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ライフを。

参考

  • PHPバージョン管理のphpenvをMacにインストールで複数ver使う PHP5.6/PHP7 - Qiita
  • phpenv+php-build環境によるphpバージョン管理~Mac(Yosemite)編~ - Qiita
カテゴリ:Default 時間:2016-07-21 人気:0
この記事では、 PHP Mac rbenv phpenv

関連記事

Copyright (C) socapnw.com, All Rights Reserved.

Socapnw All Rights Reserved.

processed in 0.212 (s). 9 q(s)