Help us understand the problem. What is going on with this article?

CentOSにpyenvとrbenvをシステム全体にインストール

More than 5 years have passed since last update.

pyenvはPythonを
rbenvはRubyを複数バージョン管理したいときに使います。

今回、pyenvもrbenvも/usr/localにインストールすることにしました。

他にもphpenvやplenvやanyenvだとか、たくさんの派生リポジトリがあるみたいです。とりあえず今回はPythonとRuby2つについてインストールしてみました。他も同じやりかたでできるはず?

/etc/profile.d/以下に書かれたファイルの設定を読んでsudoするためsudo -iを使うっていうのが面倒な程度です。

pyenv

/usr/localに置きます。

sudo git clone git://github.com/yyuu/pyenv.git /usr/local/pyenv
sudo git clone git://github.com/yyuu/pyenv-virtualenv.git /usr/local/pyenv/plugins/pyenv-virtualenv

起動時に読まれるファイルを書いて・・・

/etc/profile.d/pyenv.sh
export PYENV_ROOT="/usr/local/pyenv"
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"

シェルを再起動します

exec $SHELL -l

rbenv

こちらも同様です。

sudo git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv
sudo git clone git://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build

起動時に読まれるファイルを書いて・・・

/etc/profile.d/rbenv.sh
export RBENV_ROOT="/usr/local/rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init -)"

シェルを再起動します

exec $SHELL -l

which rubywhich pythonで新しく設定したパスが出てきたら成功です。

使い方

基本の使い方はどちらも似ていて、

# インストール可能なバージョン一覧を出す
pyenv install -l
# 所定のバージョンをインストール(この場合3.4.2)
sudo -i pyenv install 3.4.2
# 所定のバージョンがインストールされたことを確認
pyenv versions

# 特定フォルダー以下でのみ使いたい場合
cd /home/jibun/python3/
pyenv local 3.4.2
sudo -i pyenv rehash

# 全体に設定する場合
pyenv global 3.4.2
sudo -i pyenv rehash
# インストール可能なバージョン一覧を出す
rbenv install -l
# 所定のバージョンをインストール(この場合2.1.3)
sudo -i rbenv install 2.1.3
# 所定のバージョンがインストールされたことを確認
rbenv versions


# 特定フォルダー以下でのみ使いたい場合
cd /home/jibun/ruby2.1/
rbenv local 2.1.3
sudo -i rbenv rehash


# 全体に設定する場合
rbenv global 2.1.3
sudo -i rbenv rehash

今回参考にした記事は以下になります。
http://qiita.com/la_luna_azul/items/3f64016feaad1722805c
http://qiita.com/youcune/items/a5cc93313641b69b62f8

nyango
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away