rbenvを使って複数バージョンのrubyを導入する
2016/12/26
こんにちは、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を使う際の参考になれば幸いです。
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク