Ubuntu 10.04 (Server版) に ruby1.9.2とrails3.0をインストール

タイトルの通り、ubuntuに現時点(2010/10/4)の最新版のrubyrailsをインストールした際のメモです。

今回はserver版のubuntuで、特に何も入ってないので、まずはrubyのインストールから。
現時点の最新はruby1.9.2。
aptitudeでは入らないので、ソースからダウンロードしてコンパイルするかー・・・、って思ってたら、なんと最近はrvmというのがあるらしいじゃないですか。

rvmとは『Ruby Version Manager』の略で、rubyインタプリタ本体の管理用アプリケーションだとな。これを使うと、複数のバージョンのrubyインタプリタを共存させることができるとか。
インストールされたrubyは『~/.rvm/rubies/』以下に入る。その他、gemも同じような場所にまとめて保存されるらしく、ホームディレクトリ以下にインストールされるので、インストールするときに、いちいしsudoしなくてもよくなります。まだよくわかてないけど、とにかくよさそうなので、rvm経由で1.9.2を入れます。そのためには、まず普通に現行のrubyをいれて、そこからrvmのインストールをできるようにします。


rvmについてはリンクをどうぞ。
All about Ruby on Rails & Data recovery software

$ sudo aptitude install ruby
$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]

これで1.8.7のrubyがはいりましたね。
次はrubygems。前はaptitudeではうまく入らず、ソースをダウンロードしてsetup.rbを起動してましたが、最近ではaptitudeでも問題ないみたいなんで、aptitudeで。

$ sudo aptitude install rubygems
$ gem -v
1.3.5

rubygemsの最新版は1.3.7なので、これはちょっと古いですね。
rails3をインストールするには1.3.7以上が必須なので1.3.7にアップデートします。

$ sudo gem install rubygems-update
% sudo /var/lib/gems/1.8/bin/update_rubygems
$ gem -v
1.3.7

おk。
ではrvmのインストールです。

$ sudo gem install rvm
********************************************************************************

  In order to setup rvm for your user's environment you must now run rvm-install.
  rvm-install will be found in your current gems bin directory corresponding to where the gem was installed.

  rvm-install will install the scripts to your user account and append itself to your profiles in order to
  inject the proper rvm functions into your shell so that you can manage multiple rubies.

********************************************************************************
Successfully installed rvm-1.0.13
1 gem installed
...
...

こんな感じでgemで入ります。インストールはこれだけでは完了せず、「これが終わったら『rvm-install』ってコマンドを実行しろよ」というメッセージがでてるので、やってみます。

$ rvm-install

特に問題なく終わりました。
では、ruby1.9.2をインストールしてみましょう。

$ rvm install 1.9.2
...
...
ruby-1.9.2-p0 - #downloading ruby-1.9.2-p0, this may take a while depending on your connection...
rvm requires curl. curl was not found in your active path.
There has been an error while trying to fetch the source.
Halting the installation.
There has been an error fetching the ruby interpreter. Halting the installation.

ふむ、curlが入ってない。。。と。。。

$ sudo aptitude install curl
$ rvm install 1.9.2

これでうまくいきました。
ソースをダウンロードしてコンパイルするので結構時間かかりました。
ruby関連の環境変数の設定をするために.bashrcをちょっと改造します。

$ vi ./.bachrc

として

if [[ -s $HOME/.rvm/scripts/rvm ]] ; then
    source $HOME/.rvm/scripts/rvm
fi

を最後に追加。追加後は

$ source .bashrc

とします。

$ echo $GEM_PATH
~/.rvm/gems/ruby-1.9.2-p0:~/.rvm/gems/ruby-1.9.2-p0@global

みたくなってたら成功。
これで、デフォルトのrubyインタプリタを1.9.2に設定できます。

$ rvm 1.9.2 --default
$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]

おkですね。which rubyとかでも確かめてみるといいと思います。
さて、いよいよrails3のインストール。

$ gem install rails
ERROR:  Loading command: install (LoadError)
    no such file to load -- zlib
...

おやおや、いきなりひっかかった。
調べてみるとzlibのdevelopmentパッケージが必要らしい。ubuntuの場合は『zlib1g-dev』というものらしい。それをインストールしたら設定してmakeしてやる必要があるみたいです。

$ sudo aptitude install zlib1g-dev
$ cd ~/.rvm/src/ruby-1.9.2-p0/ext/zlib
$ ruby extconf.rb
$ make
$ make install

あとついでに、railsのインストールの前に、sqliterubyパッケージもインストールしちゃいました。

$ gem install sqlite3-ruby

これでいけるかな・・・?

$ gem install rails
Successfully installed activesupport-3.0.0
Successfully installed builder-2.1.2
Successfully installed i18n-0.4.1
...
...
...

いきましたね!

$ rails -v
Rails 3.0.0

ということでrails3のインストール完了です。
早速プロジェクトを作ってみましょう。
rails3からは、『rails 〇〇』という感じですべてはrailsコマンドから制御するみたいです。

$ rails new hoge

いつものようにプロジェクトが作られます。

$ cd hoge
$ rails server
Could not find gem 'sqlite3-ruby (>= 0, runtime)' in any of the gem sources.
Try running `bundle install`.

ん、sqlite3-rubyはさっきいれたんだけどなぁ。。。とりあえず『bulde install』としてみます。

$ bundle install

としたらなんかエラーみたいな文章がウジャーっとでてきました。
あ、そうだ、sqlite3の本体を入れてなかった!というのに後々気づくw

$ sudo aptitude install sqlite3
$ sudo aptitude install libsqlite3-dev

インストールします。
さっきやった『gem install sqlite3-ruby』の前にやっておくべしたね。

$ bundle install
...
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

バンドルが成功したとでました。

$ rails server
=> Booting WEBrick
=> Rails 3.0.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-10-04 23:48:28] INFO  WEBrick 1.3.1
[2010-10-04 23:48:28] INFO  ruby 1.9.2 (2010-08-18) [i686-linux]
[2010-10-04 23:48:28] INFO  WEBrick::HTTPServer#start: pid=21922 port=3000
...
...

やったー!!
おなじみのサーバの起動画面がでました。
よかったよかった。これで
http://:3000/
にアクセスしたら、『Welcome aboard』の画面がでました。
めでたしめでたし。


とりあえず、今日はここまで。