vdeep

*

vdeepはプログラミング、IT、Web技術、ライフハックの事などなどを管理人okutaniがつぶやくブログです。月間11万PV〜。

rbenvを使って複数バージョンのrubyを導入する

      2016/12/26

LINEで送る
Pocket

ruby-rbenv
こんにちは、okutani(@okutani_t)です。rubyの導入方法のひとつに『rbenv』というツールを利用する方法があります。

LINKrbenv/rbenv: Groom your app’s Ruby environment

rbenvを使うことで、複数バージョンのrubyを管理できるようになるので便利です。

本記事ではrbenvを使って「Mac・Linux(CentOS7)」にそれぞれrubyを導入してみました。Macでの導入にはHomebrewを利用するので、導入前に「MacにHomebrewを導入する方法&使い方まとめ | vdeep」あたりを一読しておいてください。

ではさっそく、rbenvを使って複数バージョンのrubyを導入してみましょう。

スポンサーリンク

Homebrewでrbenvを導入する

Homebrewを使ってrbenvとruby-buildをMacへ導入します。ruby-buildはrbenv installコマンドを利用するために導入しています。基本的にセットで利用します。

$ brew update
$ brew install rbenv ruby-build

Homebrewのアップデートはbrewコマンドを利用する前におこなっておくと良いです。Homebrewを使うとかんたんにツールが導入できますね。

rbenvをソースコードから導入したい場合

ソースコードからrbenvを導入する手順も紹介しておきます。Linuxの場合はこちらの方法になります。

また、Macでも同様の手順で導入できるので、Homebrewを使わない場合はこちらの方法で導入しましょう。

まずはGitHubからrbenv本体を取得。なお、rbenvのデフォルトのルートディレクトリがホームディレクトリなので、Linuxユーザーも「/usr/local/」などではなくホームディレクトリに配置する方がいいかもしれません。

ただし、rbenvをシステムワイドで導入する場合は「/usr/local/」に配置するのがいいかと思うので、ご自身の環境にあった場所に配置してください。本記事ではホームディレクトリに配置する方法で進めていきます。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

もしGitが無い場合は、「CentOS7に最新のGitを導入する方法 | vdeep」あたりを参考にしてGitコマンドが使えるようにしておきましょう。単純に「$ sudo yum install -y git」としてもOKです。

次にruby-buildを導入します。

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

「~/.rbenv/bin」にあるrbenvコマンドにパスをとおしておきます。「~/.bashrc(zshなら~/.zshrc, もしくは~/.bash_profileなど)」に以下を記述。

export PATH="$HOME/.rbenv/bin:$PATH"

シェルの設定を変更したので、シェルを再起動するか、次のコマンドでシェルの設定を読み込みましょう。

$ source ~/.bashrc

導入できたか確認しておきます。

$ rbenv --version
rbenv 1.0.0-19-g29b4da7
$ which rbenv
~/.rbenv/bin/rbenv

rbenvの導入を確認できました。

rbenvを使ってrubyを導入する

シェル起動時にrbenvが初期化されるよう、「~/.bashrc(zshなら~/.zshrc)」に以下を記述しておきます。Homebrew, ソースコード経由どちらでも下記記述が必要です。

eval "$(rbenv init -)"

次のコマンドでシェルを再読み込み。

$ source ~/.bashrc

あとはrbenvを使ってrubyを導入しましょう。導入できるバージョンは次のコマンドで調べることができます。

$ rbenv install --list
もしくは
$ rbenv install -l

Linuxの場合は、以下のライブラリがruby導入時に必要です(以下CentOS7の場合)。

$ sudo yum -y install gcc gcc-c++ make bzip2 libyaml-devel libffi-devel zlib-devel openssl-devel readline-devel gdbm-devel ncurses-devel

最新版のrubyのバージョンを指定して導入。

$ rbenv install 2.3.0

現在導入しているrubyのバージョン一覧は、次のコマンドで確認できます。

$ rbenv versions

以下のコマンドで、好きなバージョンのrubyを利用することができます。

$ rbenv global 2.3.0

上記では、グローバルにrubyのバージョンが設定されますが、特定のプロジェクトのみに設定したい場合は以下のとおり設定します。

$ cd proj_dir
$ rbenv local 2.3.0

設定されたか確認してみましょう。

$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
$ which ruby
~/.rbenv/shims/ruby

無事にrbenvを使って最新版のrubyを導入することができました。

同じ手順で別バージョンのrubyも導入できます。ぜひ別のバージョンのrubyが必要なときに試してみてください。

もしRubyのバージョンが表示されない・古いバージョンが表示される場合は以下のコマンドを入力。

$ rbenv rehash

上記でrbenvを再読み込みすることができます。

おまけ: gemをsudoで使えるようにする[Linux]

Linux(確認したのはCentOS7)で一般ユーザーから「$ sudo gem install hoge」がパーミッションエラーで使えませんでした。

visudoコマンドで次のように変更すればOKです。

$ sudo visudo

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
↓ 書き換え
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims

ちなみに上記ではシステムワイドに導入した場合です。それ以外は試していませんのでご了承ください。

rbenvを使う際の参考になれば幸いです。

この記事が気に入ったら
いいね ! しよう

Twitter で
LINEで送る
Pocket

okutani (@okutani_t) のヒトコト
PythonやPerl、PHPも同じようにバージョン管理できるツールがあるそうです。時間があるときそっちも使ってみようっと。

 - Ruby

スポンサーリンク

PC用AdSense

PC用AdSense

Share
  • このエントリーをはてなブックマークに追加

  こちらの関連記事もどうぞ

『MeCab+natto』で形態素解析をカスタム辞書付きでおこなう方法

こんにちは、okutani(@okutani_t)です。「MeCab」を使うと形 …

Ruby+nokogiriを使ってブログの過去記事をTwitterに投稿してみる

こんにちは、okutani(@okutani_t)です。本ブログ『vdeep.n …

cronでシェルスクリプトとrubyプログラムを定期実行させる

こんにちは、okutani(@okutani_t)です。Linuxにある「cro …

vdeepのトップページへ戻る画像です。風船の形をした島を女の子が掴んでいます。