anyenvを使って言語毎のバージョン管理を楽にしよう

こんにちは。 Rubyを使うときはrbenv、Pythonを使うときはpyenv、Node.jsを使うときはnodenvやndenvを使いますよね。 それに合わせて.bash_profile内がたくさん増えてしまったり、何回も同じこと書くのが面倒だったりします。 そこでanyenvというものを使うと、.bash_profile内がたった3行で終わったり、新しい言語を試してみたい!というときに気軽に言語をインストール出来たり、と色々便利なのでまだ使ってない人は使ってみるのをおすすめします! 僕の場合はMacで使用してたり、新しいサーバー構築をしなきゃいけないときで色々スクリプト言語使うだろうなぁと想定出来る場合はanyenvで入れてます。

anyenvをインストール

anyenvのインストールはとてもシンプルです。 以下のコードを実行していきましょう。

$ git clone https://github.com/riywo/anyenv ~/.anyenv
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l

上記のこれだけ書いておけば、あとは色々な*env系を入れるだけです

とりあえずrbenvを入れてみる

それではまずrbenvを入れてみましょう。 anyenvにはinstallコマンドがあるのでそれを使ってインストールします。

$ anyenv install rbenv
$ exec $SHELL -l

たったこれだけでrbenvが使えるようになりました。 rbenvが入ったのでRubyの最新のものでも入れてみましょう。

$ rbenv install -l # インストール出来るものの一覧が表示される
$ rbenv install 2.3.0
$ rbenv global 2.3.0 # Rubyの2.3.0を適用する
$ gem install rbenv-rehash # rbenv rehashをしなくてよくなるGemを入れる
$ rbenv rehash # この世で最後のrehash
$ ruby -v

普通に入れたままだとGemを入れたあと等にrbenv rehashをしなければならないのですが、それは面倒くさいのでそれを自動で行ってくれるGemを入れて気にしなくてよくなりました。楽ですね。

他の言語のenv系もこの感じで使えるので色々入れて試してみてください。 envの全体を確認したい場合はhelpを見るとよいです。

$ anyenv install -l
Available **envs:
  Renv
  crenv
  denv
  erlenv
  exenv
  goenv
  hsenv
  jenv
  luaenv
  ndenv
  nenv
  nodenv
  phpenv
  plenv
  pyenv
  rbenv
  sbtenv
  scalaenv
  swiftenv

16年10月26日現在19個扱えるようです。

終わりに

僕はこのanyenvをインストールしてから、スクリプト言語をインストールするのが楽になったので色々勉強がはかどりました。 Node.jsを入れたいと思ったらとりあえずanyenvでnodenvをインストールして、それからインストールを行って、特に問題なくインストールを完了することが出来ています。 インストールがとにかく楽になるのがよいことだと思うのでぜひ試してみてください。