テクノロジー

【Mac】phpenvからanyenvに乗り換えたので導入から切り替えまで

Written by Kishimoto

【Mac】phpenvからanyenvに乗り換えたので導入から切り替えまで

phpenvを使ってましたが、anyenvというものがあるというのを知ったので、Mac(OS:macOS Sierra)の開発環境を再構築してみました。

主に使うのが PHP だったのですが、最近は gulpwebpack なども開発環境として取り入れてるので、 Node.js もバージョン管理できたらいいなって感じで複数のバージョン管理ができる anyenv に切り替えました。

ではでは、anyenvを導入していきましょう。

前提条件

  • Rubyが動くようになっていること
  • Apacheが動くようになっていること

インストール前にHomebrewを導入していない場合は導入しよう

Homebrewを導入していない方は、先にHomebrewをインストールしましょう。
インストールは公式サイトに行き、書いてあるコマンドを入れるだけですね。

Homebrew — macOS 用パッケージマネージャー

サイトへ行くと、以下のようなコマンドが記載されているので、ターミナルにコマンドを入れて実行しましょう。
管理者権限が必要な場合は、sudoで実行してください。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

anyenvのインストール

こちらも製作者のGitHubから、書かれている通りにコマンドを実行していきます。

riywo/anyenv: all in one for **env – GitHub

$ git clone https://github.com/riywo/anyenv ~/.anyenv

anyenvのパスを通す

$ vi .bash_profile

# .bash_profile
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

if [ -d $HOME/.anyenv ] ; then
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
for D in `\ls $HOME/.anyenv/envs`
do
export PATH="$HOME/.anyenv/envs/$D/shims:$PATH"
done
fi

自分の場合は、.bashrcに別のパスを書いているので、.bash_profileのほうに処理を書いてます。

パスが通っているか確認する

$ which anyenv
/Users/{User Name}/.anyenv/bin/anyenv

phpenvのインストール

$ anyenv install phpenv

# インストールが完了がしたら入っているか確認します。
$ anyenv versions

# インストール済みの各envのバージョン一覧が表示される
phpenv:
* system

phpenvから色々なバージョンのPHPをインストールしてみよう

まず、インストールできるバージョンの一覧を表示

$ phpenv install -l

ずらーっと、バージョンの一覧がでるので、入れたいPHPをインストールします。
ここではPHP 7.0.9をインストールしてみます。

$ phpenv install 7.0.9

# エラーも出ず完了したら切り替えてみる
$ phpenv global 7.0.9

# 処理の更新をおこなう
$ phpenv rehash

# PHPのバージョンが変わったかどうか確認する
$ php -v

これで一通りのインストールからバージョン切り替えまで出来るようになったと思います。
もし、PHPのインストール中にエラーが出たら、出力されているエラー内容をよく確認して直していきましょう。

ndenvのインストール

$ anyenv install ndenv

# インストールが終わったら確認
$ anyenv versions

ndenvのバージョン一覧も表示されたらOK

ndenvから色々なバージョンのNode.jsをインストールしてみよう

まずは、PHPの時と同様にインストールできるバージョンの一覧を表示して、欲しいバージョンをインストールしていきましょう。

$ ndenv install -l

こちらも、ずらーっとでるので、入れたいバージョンを指定してインストールしていく。
自分のMacだと6系が安定してるので、6系をインストールしてみましょう。

$ ndenv install 6.12.2

# 完了したら切り替えてみる
$ ndenv global 6.12.2

# 切り替えたら更新をする
$ ndenv rehash

# Nodoのバージョンが変わったかどうか確認する
$ node -v

これでNodeのバージョンも管理できるようになりました。
anyenvを導入することで、PerlやRuby、Pythonなどのバージョンも管理できるので、環境がかなり使いやすくなりました!

もし、phpenvだけ使ってるのであれば、anyenvを入れることをオススメします!

株式会社MIRAIでは、Webマーケティング・コンサルティングから
ホームページ制作・動画制作など、様々なご相談を承っております。

お仕事のご依頼・ご相談はこちら