LoginSignup
82

More than 5 years have passed since last update.

anyenvを使う

Last updated at Posted at 2018-01-24

基本は本家を参考に。

いろいろな言語を使うので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とし、アンインストールしました(あまりバージョン切り替えないので)。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
82