旅するえんじにあ - Engineers to Travel -

旅するエンジニアの気まま備忘録

【Linux】anyenvで各envを管理

さて平日の仕事を一時的に休止して毎日カフェでPCをいじる日々です。

今日は前から構築時に使っているanyenvについてです。

日頃いくつかの言語を使うのですが、プロジェクトによってバージョンは違うわけで 統一するのも難しいですよね。 そこで言語ごとにバージョンを管理する~env等を使っているのですが、それも複数出てきて 管理が面倒だったりします。 そんなときのanyenvです。~envを更にまとめて管理してくれる便利なツールです。

これを使えば各言語のenvを管理して更に**envから言語バージョンを管理できるというものです。

では早速インストールです。

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

そこからbin以下にpathを通します。 それによって~envコマンドが使用可能になります。

# export PATH="$HOME/.anyenv/bin:$PATH"
# eval "$(anyenv init -)"

そこからshellをリフレッシュです。

# exec $SHELL -l

これでanyenvが使用できるようになりました。 どんなenvが使えるのかを確認してみましょう。

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

更にプラグインをインストールしてanyenvをupdateできるようにします。

# mkdir -p $(anyenv root)/plugins
# git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update

これでanyenvのupdateが可能になります。

# anyenv update

上記を実行するとupdateが実行されます。

# anyenv update
Updating 'anyenv'...
Updating 'anyenv/anyenv-update'...

各~envのインストールは以下の通りです。

今回は直近必要だったphpenvをインストールします。

# anyenv install phpenv
# exec $SHELL -l

あとは~envを使うときと同じように使うことができます。

anyenvの削除については初期に作った.anyenv自体を削除すればOKです。 色々と面倒なバージョン管理がこれで楽になりますね。

どこかでphpenvの使い方等をできればと思います。