基本は本家を参考に。
いろいろな言語を使うのでanyenvを利用することになした。私の用途でバージョンの変更・管理が必要な言語はpythonとnode.jsで、あとはおまけでPHPという感じでしょうか。
既に**envを利用している人は、いままでの設定フィルを削除するか移動します。こちらの記事が参考になります。
anyenvのインストール
環境
macOS Hight Sierraです。XcodeとかHomebrewとかは入った状態。
本体
インストールはgitから直で。
git clone https://github.com/riywo/anyenv ~/.anyenv
.anyenv/binを見るようにPATHを調整。これで各**env毎の設定が不要になります。
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
シェルをリフレッシュ。
exec $SHELL -l
動作確認兼、インストールできる**envの種類を確認。
anyenv install -l
プラグイン
各**env環境をUpdateするためのプラグインをインストール。
mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
下記のようにすることでUpdateが可能に。
anyenv update
pyenv
では、本命のpyenvをインストール。
anyenv install pyenv
exec $SHELL -l
後はpyenvの世界。
とりあえずインストールできるバージョン一覧表示。
pyenv install -l
最新のAnacondaを入れてみる。
pyenv install anaconda3-5.0.1
インストールされたバージョンの確認。
pyenv versions
バージョンの切り替え。
pyenv global anaconda3-5.0.1
元々のバージョンに戻す。
pyenv global system
以上。
ndenv
node.jsも。たまに「node.jsのバージョンが違うのでインストールできない!」とか言われるので切り替えたい。
インストール。
anyenv install ndenv
exec $SHELL -l
インストール可能なバージョン一覧。
ndenv install -l
とりあえずLTSの8.x系をインストール。
ndenv install v8.9.4
プレインストールされていないので「知らん」と言われる。
ndenv: node: command not found
The `node' command exists in these Node versions:
v8.9.4
バージョンを指定。
ndenv global v8.9.4
あとはnode.jsの世界。
phpenv
おまけながら一番面倒。Web利用で5.xと7.xを切り替えるだけならMAMPとかの方がいいかも。
インストール。これは普通に終わる。
anyenv install phpenv
exec $SHELL -l
最新版をインストール。エラーがいくつも出ます。
以下で解決はしています。
まずは最新版のPHPインストール。
phpenv install 7.2.0
エラー1 (OpenSSL)
enp.hが無い!と怒られる。
configure: error: Cannot find OpenSSL's <evp.h>
最近のOpenSSLをライブラリが配布されていないよう。下記のようにPKG_CONFIG_PATHを指定する。
.bash_profile等に下記を追記。追記後は忘れずにsource .bash_profileとかやる。
export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig
で、再度install実行。
エラー2 (libz)
今度はlibzが無いと怒られる。
configure: error: Cannot find libz
これはXcodeのコマンドラインツールをインストールすればよいらしい。
xcode-select --install
で、再度install実行。
エラー3 (jpeg)
今度はjpeglib.hが無い!と怒られる。
error: jpeglib.h not found
jpegライブラリをインストール。
brew install jpeg
エラー4 (libpng)
続いては、libpngが無い!と怒られる。
configure: error: png.h not found.
おとなしくインストール。
brew install libpng
エラー5 (ICU prefix)
さらに、ICU prefixがどうたらと怒られる。
configure: error: Unable to detect ICU prefix ...
インストール。
brew install icu4c
ここで再度installを実行するとコンパイルまでは進むように。。。が、下記のエラーでコケる。
エラー6 (autoconf)
autoconfが無い!と怒られる。
Cannot find autoconf.
インストール。
brew install autoconf
これでようやくインストールが完了しました。。。
phpenv versions
phpenvを入れたらターミナルの起動(初期化)にすごく時間がかかるようになったのでanyenv uninstall phpevnとし、アンインストールしました(あまりバージョン切り替えないので)。