各envが、バージョン毎にディレクトリを分割して管理するようになったので
今までは固定でも大丈夫だったものの、PATHを動的に変更する必要が出てきた。
なので一例として設定ファイルを公開(自分がfishを使っているのでfish用)。
各envのバージョン
$ goenv -v
goenv 2.0.0beta11
$ nodenv -v
nodenv 1.3.1+11.5024679
$ pyenv -v
pyenv 1.2.16-5-g7097f820
config.fish
# anyenvの設定
set -x PATH "$HOME/.anyenv/bin" $PATH
# pyenvの設定
set -x PYENV_ROOT "$HOME/.anyenv/envs/pyenv"
set -x PATH "$PYENV_ROOT/bin" $PATH
set -x PATH (pyenv prefix)/bin $PATH
eval (pyenv init - | source)
# goenvの設定
set -x GOENV_ROOT "$HOME/.anyenv/envs/goenv"
set -x PATH "$GOENV_ROOT/bin" $PATH
set -x GOROOT (goenv prefix)
set -x GOPATH $HOME/go/(goenv versions --bare)
set -x PATH "$GOPATH/bin" $PATH
eval (goenv init - | source)
# novenvの設定
set -x NODENV_ROOT "$HOME/.anyenv/envs/nodenv"
set -x PATH "$NODENV_ROOT/bin" $PATH
set -x PATH (nodenv prefix)/bin $PATH
eval (nodenv init - | source)
補足
-
(xxxenv prefix)
で、各バージョンのパスが取得できる。こうしておくことで、言語のバージョンを切り替えた時に参照するライブラリのパスを動的に変更することができる。 -
(goenv versions --bare)
は、goのバージョンのみを取得することができる。