Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
18
Help us understand the problem. What is going on with this article?
@ore_public

自分でコンパイルしたRubyをrbenvで管理する(Mac OS X, Ubuntu)

More than 5 years have passed since last update.

通常はruby-buildもセットで使えば楽でいいのだけど、例えばruby2.0出た! 入れてみよう! あ、ruby-buildがまだだ・・・。という理由ですぐに試せないという人が居たとすると悲しいので、自分でやってみた手順をメモしました。

準備

まず、rbenvを使えるようにします。
どうせ使うので、ruby-buildも入れておきます。

Ubuntu

apt-getでrbenvインストール可能ですが、gitで入れたほうが良いです。

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

環境変数PATHに, ~/.rbenv/binを追加します。
そして、~/.bashrc とか ~/.zshrcに

eval "$(rbenv init -)"

を追記しておきます。

rubyのビルドに必要なパッケージを入れておきます。

$ sudo apt-get install libssl-dev libxml2-dev libxslt1-dev libyaml-dev libreadline-dev zlib1g-dev

このくらい入れとけば大丈夫です。

新しいバージョンのrubyが出た時は、以下のコマンドでruby-buildを更新するとインストール出来るようになっているかもしれません。

$ cd ~/.rbenv/plugins/ruby-build
$ git pull origin master

Mac OS X

Homebrewは導入済みとします。

$ brew install rbenv ruby-build

Mac10.9以降の場合、特に追加でパッケージを入れておかなくてもrubyビルド可能です。

新しいバージョンのrubyが出たら以下を実行すればインストール出来るようになっているかもしれません。

$ brew update
$ brew upgrade ruby-build

本題

ここから本題のruby-buildを使わないインストール手順です。
UbuntuもMacも同じ手順でいけるはず。

$ wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz
$ tar xzvf ruby-2.0.0-p0.tar.gz
$ cd ruby-2.0.0-p0
$ ./configure --prefix=$HOME/.rbenv/versions/2.0.0-p0
$ make
$ make install

※hoge にはユーザー名を

これで $HOME/.rbenv/versions 以下にruby2.0がインストールされたはず。

$ rbenv versions
  system
  1.9.2-p290
  1.9.3-p194
  1.9.3-p327
* 1.9.3-p374 (set by /Users/hoge/.rbenv/version)
  2.0.0-p0
  2.0.0-preview1
  2.0.0-rc2

$ rbenv global 2.0.0-p0
$ rbenv rehash
$ ruby -v
ruby 2.0.0p0 (2013-02-24) [x86_64-darwin12.2.1]

これで自分でビルドしたRubyがrbenvで管理出来る状態になったと思います。

あとは、私がRubyをインストールしたとき確認すること - 絶対R領域を参考に、ハマリ易そうなところが大丈夫か見ておきます。

$ irb
irb(main):001:0> require 'openssl'
true
irb(main):002:0> require 'zlib'
true
irb(main):003:0> require 'psych'
true

良さそうですね!

18
Help us understand the problem. What is going on with this article?
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

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
18
Help us understand the problem. What is going on with this article?