rvmとruby 1.9.3をインストール Ubuntu 11.04

(404) | Softcover.ioを読んでいる。

Windows環境で、JavaVMで実行するJRubyとか、Windows向けのRubyInstallerとかつかっても、Rubyのエコシステムから、はみだしがち。railsを動かせるのだけれど、どうも環境でつまづくことが多い。環境壊れてとりあえず、まっさらにして、bundle installを何度か繰り返した。

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book#sec:install_rubyを読んでいたら、rvmを使うといいみたいなことが書いてあったのでインストールしてみる。ネットで、rubyrailsの調べ物をしていると、ちらほら見るし。ただし、Linux環境のみらしい。いい機会だから、Linux環境に乗り換えよう。

rvmは、rubyの実行環境を使い分けるためのツール。

All about Ruby on Rails & Data recovery software

rvmは、インストール直後に画面に表示される説明をよく読んですすめると、無難にインストールできんるんじゃないかとおもう。

逆に、この説明を読まないと、ひどい目にあう。

インストール

RVM: Ruby Version Manager - Installing RVM

$ curl -L get.rvm.io | bash -s stable
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

$ source ~/.bash_profile

あるいは

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bashrc

$ source ~/.bashrc
$ rvm reload
$ rvm requirements

これ重要、rvmでrubyをインストールする前に、実施しておくべきことがいろいろ書いてある。
たとえば、sudo apt-get installしておくものなど。

特に、rvmで、ruby 1.9.3をインストールしたとき、エラーになった。

eiichi@ubuntu-desktop:~$ rvm install 1.9.3 
Fetching yaml-0.1.4.tar.gz to /home/eiichi/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /home/eiichi/.rvm/src
Configuring yaml in /home/eiichi/.rvm/src/yaml-0.1.4.
Compiling yaml in /home/eiichi/.rvm/src/yaml-0.1.4.
Error running 'make ', please read /home/eiichi/.rvm/log/ruby-1.9.3-p125/yaml/make.log

libyamlというyamlのライブラリがコンパイルできなかったらしい。
こうならないためには、

Error installing ruby 1.9.3 from rvm on ubuntu 11.04 - Stack Overflow

sudo apt-get install libtool

これは、rvm requirementsには、書いてなかった。

これで、rvmとruby-1.9.3をインストールできたようだ。

eiichi@ubuntu-desktop:~$ rvm info

ruby-1.9.3-p125:

  system:

....

  environment:
    PATH:         "/home/eiichi/.rvm/gems/ruby-1.9.3-p125/bin:/home/eiichi/.rvm/gems/ruby-1.9.3-p125@global/bin:/home/eiichi/.rvm/rubies/ruby-1.9.3-p125/bin:/home/eiichi/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/jdk/bin:/opt/scala/bin"
    GEM_HOME:     "/home/eiichi/.rvm/gems/ruby-1.9.3-p125"
    GEM_PATH:     "/home/eiichi/.rvm/gems/ruby-1.9.3-p125:/home/eiichi/.rvm/gems/ruby-1.9.3-p125@global"
    MY_RUBY_HOME: "/home/eiichi/.rvm/rubies/ruby-1.9.3-p125"
    IRBRC:        "/home/eiichi/.rvm/rubies/ruby-1.9.3-p125/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

Ruby環境の使い分け

具体的に、どうやってRuby環境を使い分けるのかといえば、rubyの実行エンジンの切替とgemの切替をする。

eiichi@ubuntu-desktop:~$ rvm 1.9.3
eiichi@ubuntu-desktop:~$ rvm gemset create rails-getting-started
'rails-getting-started' gemset created (/home/eiichi/.rvm/gems/ruby-1.9.3-p125@rails-getting-started).
eiichi@ubuntu-desktop:~$ rvm gemset list

gemsets for ruby-1.9.3-p125 (found in /home/eiichi/.rvm/gems/ruby-1.9.3-p125)
   global
   rails-getting-started

eiichi@ubuntu-desktop:~$ rvm use 1.9.3@rails-getting-started
Using /home/eiichi/.rvm/gems/ruby-1.9.3-p125 with gemset rails-getting-started
eiichi@ubuntu-desktop:~$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.21
  - RUBY VERSION: 1.9.3 (2012-02-16 patchlevel 125) [i686-linux]
  - INSTALLATION DIRECTORY: /home/eiichi/.rvm/gems/ruby-1.9.3-p125@rails-getting-started
  - RUBY EXECUTABLE: /home/eiichi/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
  - EXECUTABLE DIRECTORY: /home/eiichi/.rvm/gems/ruby-1.9.3-p125@rails-getting-started/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /home/eiichi/.rvm/gems/ruby-1.9.3-p125@rails-getting-started
     - /home/eiichi/.rvm/gems/ruby-1.9.3-p125@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

次は、本題のrailsをインストールしてみよう
rvm上で、rails 3.2.3を動かす。Ubuntu 11.04 - kaishitaeiichiの日記