brewとenvを使ったpython, ruby, node, goのインストール

python, ruby, node, goには様々なバージョンがあり、切り替えて使いたいことがあります。その為、各言語にはバージョン管理ツールとしてpyenv, rbenv, nodenv, goenvが存在します。

これらのenvは全てソースからgitでcloneしてインストールすることが出来ますが、 それぞれそれなりの頻度でアップデートされているので、いちいちgit fetchするのは大変なので、envをbrewで管理する手法を取りたいと思います。

手順

brewのインストール

Homebrew — macOS 用パッケージマネージャー

上記のホームページを参考にインストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"を実行するだけ。

envのインストール


$ brew install pyenv rbenv nodenv goenv
#usr/local/bin配下にインストールされる

$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
$ echo 'eval "$(goenv init -)"' >> ~/.bash_profile
# .bash_profileは環境に応じて.bashrcや.zshrcに読み替えてください

PATHについての注意点

さて、brewでenvをインストールしない場合に下記のようにPATHの追加をする必要があります。

$ echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="${PYENV_ROOT}/bin:$PATH"' >> ~/.bash_profile

brewでインストールした場合はそもそもPATHが/usr/local/binに通っており、かつPYENV_ROORなどはpyenv init -でデフォルトで$HOME/.pyenvに設定される為、あえて変更したい場合を除いて不要となります。pyenv公式サイトにもThen follow the rest of the post-installation steps under Basic GitHub Checkout above, starting with #3 ("Add pyenv init to your shell to enable shims and autocompletion").と記載されており、pyenv init -の部分だけやれば良いことがわかります。pyenv以外も同様です。

おまけ(pyenv-virtualenv)

仮想環境を構築できるpyenv-virtualenvをインストールしたい場合は追加で下記のようにやります。

$ brew install pyenv-virtualenv
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

envを使った各言語のインストール

python2とpython3をインストールして切り替える

全ての言語で手順は同じなので、pythonを例にして解説します。

#インストール可能なバージョンを調べる
$ pyenv install -l
Available versions:
  2.1.3
   *
   *
   *
  2.7.14
  3.0.1
   *
   *
   *
  3.6.3
  3.6.4rc1
  3.7.0a3
  3.7-dev
  anaconda-1.4.0
   *
   *
   *
  anaconda3-5.0.1
   *
   *
   *
#2.7.14と3.6.3をインストール
$ pyenv install 2.7.14
$ pyenv install 3.6.3

#インストールされているバージョンの確認(2.7.14が有効であることがわかる)
$ pyenv versions
  system
* 2.7.14 (set by /Users/user-name/.pyenv/version)
  3.6.3
$ python --version
Python 2.7.14

#python3を有効化
$ pyenv global 3.6.3
$ pyenv versions
  system
  2.7.14
* 3.6.3 (set by /Users/user-name/.pyenv/version)
$ python --version
Python 3.6.3

他の言語の場合もrbenv install -lのようにして必要なバージョンを調べて同様にインストールや切り替えが出来ます。

おまけ(virtualenv)

下記の記事が詳しかったので、参考にしてください。 pyenv-virtualenvでディレクトリ単位のpython環境構築 - Qiita

Share Comments
comments powered by Disqus