anyenvによる各言語の複数バージョン管理
anyenvのインストール方法と使い方を説明します。
**envとは
アプリケーション開発では、アプリの都合により特定のバージョンのプログラミング言語を利用する必要があります。 たくさんのアプリを開発していると、ひとつのマシン上に複数のバージョンを同居させ、開発するアプリによって使い分けたいといったニーズがあります。 これを実現するツールが各言語にあり、たとえば、Rubyにはrbenv、Pythonにはpyenvがあります。これらを総称して**envと呼びます。
anyenvとは
利用する言語数が増えると、.bash_profile
に**envの設定が増え、**env自身の更新が負担になります。
anyenvはこれら**envを一括して管理できます。
anyenvのインストール方法
本体のインストール
anyenvのリポジトリをcloneし、.bash_profile
を編集します。
git clone https://github.com/anyenv/anyenv ~/.anyenv
cat << 'EOF' >> ~/.bash_profile
# anyenv
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
EOF
exec $SHELL -l
インストールマニフェストディレクトリを初期化します。
anyenv install --init
インストールできる**envの一覧を確認します。
anyenv install -l
2019/03/17時点での出力結果は次の通りです。
$ anyenv install -l
Renv
crenv
denv
erlenv
exenv
goenv
hsenv
jenv
luaenv
nodenv
phpenv
plenv
pyenv
rbenv
sbtenv
scalaenv
swiftenv
プラグインanyenv-updateのインストール
anyenvと**envとpluginを一括更新するものです。
mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
goenvでGoをインストール
Goは公式に複数バージョンのインストールをサポートしています。 基本的にgoenvを利用する必要はないでしょう。
goenvをインストールします。
anyenv install goenv
exec $SHELL -l
インストールできるGoの一覧を表示します。
goenv install -l
Goをインストールします。
goenv install 1.11.5
環境変数を設定します。
BASH_PROFILE_BK=`cat "$HOME/.bash_profile"`
cat << EOF > ~/.bash_profile
# go
export GOPATH="\$HOME/go"
export PATH="\$GOPATH/bin:\$PATH"
# goenv
export GOENV_DISABLE_GOPATH=1
$BASH_PROFILE_BK
EOF
exec $SHELL -l
現在のシェルのみで指定した環境を有効化します。
goenv shell 1.11.5
自ユーザ全体で指定した環境を有効化します。
goenv global 1.11.5
pyenvでPythonをインストール
pyenvをインストールします。
anyenv install pyenv
exec $SHELL -l
インストールできるPythonの一覧を表示します。
pyenv install -l
Pythonをインストールします。
pyenv install 3.6.7
現在のシェルのみで指定した環境を有効化します。
pyenv shell 3.6.7
自ユーザ全体で指定した環境を有効化します。
pyenv global 3.6.7
pyenv-virtualenvでPython仮想環境を構築
pyenvのプラグインpyenv-virtualenvのインストールします。
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
pyenv-virtualenvで仮想環境を作成(Python3.3からはvenvを推奨)します。
pyenv virtualenv 3.6.7 venv3.6.7
作成した仮想環境を有効化します。
pyenv activate venv3.6.7
仮想環境を無効化します。
pyenv deactivate
仮想環境を削除します。
pyenv virtualenv-delete venv3.6.7
rbenvでRubyをインストール
rbenvをインストールします。
anyenv install rbenv
exec $SHELL -l
インストールできるRubyの一覧を表示します。
rbenv install -l
Rubyをインストールします。
rbenv install 2.5.3
現在のシェルのみで指定した環境を有効化します。
rbenv shell 2.5.3
自ユーザ全体で指定した環境を有効化します。
rbenv global 2.5.3
nodenvでNode.jsをインストール
nodenvをインストールします。
anyenv install nodenv
exec $SHELL -l
インストールできるNode.jsの一覧を表示します。
nodenv install -l
Node.jsをインストールします。
nodenv install 10.13.0
現在のシェルのみで指定した環境を有効化します。
nodenv shell 10.13.0
自ユーザ全体で指定した環境を有効化します。
nodenv global 10.13.0
各環境の更新
anyenvとanyenv-manifestと**envとpluginを一括更新します。
anyenv update