Hatena::ブログ(Diary)

winplusの日記 このページをアンテナに追加 RSSフィード

2011-11-23

ubuntu 10.4にrvmでrubyをインストールする。あとsinatraも。

ふと思い立ってsinatra(http://www.sinatrarb.com/)でもと思ったが、ちょっと手間取ったのでメモを残しておく。環境はubuntu 10.4。rubyはrvm(http://beginrescueend.com/rvm/)で入れる。

インストールスクリプトを動かすために、curlが必要なので、用意する。

$ sudo aptitude install curl

インストールスクリプトを動かすコマンドを実行するとエラーが返ってきた。

$ bash < <(curl -s http://rvm.beginrescueend.com/releases/rvm-install-latest)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
184   184  184   184    0     0    280      0 --:--:-- --:--:-- --:--:--  1260
bash: line 1: html: No such file or directory
bash: line 2: 期待してない token `<' のあたりにシンタックスエラー
'ash: line 2: `<head><title>301 Moved Permanently</title></head>

301 Moved Permanentlyとのことなので、移転先を調べる。

$ curl -I http://rvm.beginrescueend.com/releases/rvm-install-latest
HTTP/1.1 301 Moved Permanently
Server: nginx/1.0.8
Date: Wed, 23 Nov 2011 XX:XX:XX GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: https://rvm.beginrescueend.com/releases/rvm-install-latest

httpsに変更されたよう。変更して実行する。

$ bash < <(curl -s https://rvm.beginrescueend.com/releases/rvm-install-latest)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  908k  100  908k    0     0   345k      0  0:00:02  0:00:02 --:--:--  512k
Unrecognized option: --prefix

  Usage:

    /home/hentai/.rvm/src/rvm-1.9.2/scripts/install [options]

  options:

    --auto    : Automatically update shell profile files.

    --prefix  : Installation prefix directory (rvm_path).

    --help    : Display help/usage (this) message

    --version : display rvm package version

書いてあるとおりに実行してみる。

$ /home/hentai/.rvm/src/rvm-1.9.2/scripts/install
/home/hentai/.rvm/src/rvm-1.9.2/scripts/install: line 28: /home/hentai/scripts/functions/installer: No such file or directory
/home/hentai/.rvm/src/rvm-1.9.2/scripts/install: line 34: install_setup: コマンドが見つかりません
/home/hentai/.rvm/src/rvm-1.9.2/scripts/install: line 85: determine_install_path: コマンドが見つかりません
/home/hentai/.rvm/src/rvm-1.9.2/scripts/install: line 87: determine_install_or_upgrade: コマンドが見つかりません
ERROR: rvm_path is empty, halting installation.

/scripts/functions/installerが見つからないらしい。カレントディレクトリを変更して実行する。

$ cd ~/.rvm/src/rvm-1.9.2
$ /home/hentai/.rvm/src/rvm-1.9.2/scripts/install
(略)
Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
  ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
(略)

依存するモジュールが表示されるので、インストールしておく。

$ sudo aptitude install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

rvmを使えるように、.profileに記述を追加する(ubuntu 10.4だと追記の対象ファイルは.profileになる)。--auto オプションでこの作業が不要になるのだろうが、試していない。

$ echo ' -s ”$HOME/.rvm/scripts/rvm” ? && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.profile

コンソールを再起動すれば、rvmが利用できる。あとは、rvmでrubyをインストールするだけ。

$ rvm install 1.9.2
$ rvm use 1.9.2 --default
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]

sinatraのインストールはgemにお任せ。hamlとshotgunも。

$ gem -v
1.8.10
$ gem install sinatra haml shotgun
$ gem list

 *** LOCAL GEMS ***

bundler (1.0.21 ruby)
haml (3.1.3)
rack (1.3.5)
rack-protection (1.1.4)
rake (0.9.2)
shotgun (0.9)
sinatra (1.3.1)
tilt (1.3.3)

動作確認をしておこう。

$ cat hentai.rb
require 'rubygems'
require 'sinatra'
require 'haml'

get '/' do
  haml :hentai
end
__END__
@@hentai
%html
  %body
    %div
      %h1 Hello Hentai!

$ shotgun hentai.rb
== Shotgun/WEBrick on http://127.0.0.1:9393/
[2011-11-23 XX:XX:XX] INFO  WEBrick 1.3.1
[2011-11-23 XX:XX:XX] INFO  ruby 1.9.2 (2011-07-09) [i686-linux]
[2011-11-23 XX:XX:XX] INFO  WEBrick::HTTPServer#start: pid=12345 port=9393

ブラウザで、http://127.0.0.1:9393/にアクセスすれば、確認できる。

※この記事は、変態アドベントカレンダーの14日目です。http://atnd.org/events/22020