複数の画像ファイルを1つのPDFファイルに変換する

勉強会向けに作成したスライド。皆さんはどうなさっていますか?
やっぱりslide shareで公開したりしているのでしょうか?

僕はまだ2度しか発表したことがありませんが、その資料というのが…画像ファイルなのです。
*1
これでは勉強会の資料としてslide shareにアップロードすることはもちろん、直接、自分のブログに掲載することもできません*2

そこで複数の画像ファイルを1つのPDFファイルにまとめられないか調べてみました。
僕の環境はMac OS X Lionなので、そのことも含めて調べてみると「Autometorを使って…」という記事が多くみつかりました。

Autometor
Automatorを使えば、時間のかかる繰り返し作業をすばやく、効率的に、楽にこなせるようになります。*3

MS Office秀丸で言うマクロのような自動処理プログラムを簡単に作るためのアプリケーションということでしょうか。
たくさんの方がブログで取り上げているので、Autometorを使って実現することは難しくはないと思うのですが、興味や疑問が発散するという意味でハマりそうだったので、もうちょっと簡単に作れないか調べてみました。


Mac OS Xの場合、Adobe Acrobatを使わなくても、色々なデータからPDFを出力することができます。画像ファイルからPDFを出力することもできます。手順は次の通りです。

  1. 画像ファイルを[プレビュー]で開く
  2. [ファイル]メニューから[プリント…]を選択
  3. [PDF]プルダウンから[PDFとして保存]を選択

この機能があるのなら、複数の画像ファイルを1つのPDFファイルに出力することもできるんじゃないかと思って試していると…できました。

1. Finderでファイルが格納されているディレクトリを表示
2. PDFにしたいファイルを選択
3. コンテキストメニューを表示し、[このアプリケーションで開く]から[プレビュー]を選択
 プレビューが起動する
4. サムネールの表示
 [表示]メニューから[サムネール]を選択
5. PDFにしたいファイルがページ順に並んでいることを確認
 希望した順番でない場合は、ドラッグして入れ替える
 希望のファイルを全て読み込めなかった場合、Finderからドラッグして追加できる
6. サムネール欄に表示されているファイルを全て選択
 サムネール欄にて[⌘+a]で全て選択できる
7. [ファイル]メニューから[プリント]を選択
 ショートカットキーは[⌘+p]
8. 出力される向きを選択
 プレビューに表示されている向きが希望通りでなければ、[方向]欄のボタンで向きを変える
 デフォルトの向きは縦向きなので、スライドが横長の場合*4、向きを変える
9. [PDF]プルダウンから[PDF]として保存を選択
 プルダウンはダイアログの左下、[?]ボタンの右にある
10. 結合したファイルを保存
 [保存]ダイアログが表示されるので、結合したPDFファイルの名前、格納する場所などを指定して[保存]ボタンをクリック


PDFファイルの完成!!


Autometorでワークフローを作った場合、あらかじめソート順を考慮したファイル名にする必要があると思いますが、今回の方法なら後から自由に変更出来ます。
OSに標準でインストールされているソフトウェアでここまでできるとは。


ちなみに、画像ファイルを作成するならCacooがおすすめです。
直感的に操作しやすいし、ステンシルもいい感じ。

*1:画像ファイルをブラウザで表示して発表するという…

*2:不可能ではありませんが…ですよね。

*3:http://www.apple.com/jp/macosx/apps/all.html

*4:次回は縦長のスライド作ってみようかな。プロジェクタが対応しているかが問題か。

Minami.rb Rails Hackathonに参加してきました。(day one)

12/3のHackathonに向けて、Ideathonが開催されました。
Hackathonに参加するのは、去年の5月に京都GTUG主催のHTML5Hackathonに参加して以来の2度目です。

Hackathonとは:区切られた時間内に、みんなで何か作ろうぜなイベント
Ideathonとは:Hackathonのチームを決めたり、作るものを設計する集まり

始めにチーム分けをしました。
1つはよしだあつしさんを筆頭に新規にアプリケーションを作るチーム。もう1つはつじたさんを筆頭に既存のアプリケーションを改修するチームです。
「既存のアプリケーション」と言っても「お題が決定済み」というわけではなく、個人にしろ、共有しているにしろ、既に作り始めているアプリケーションを改修するチームです。
僕は技量はもちろん、知識も全然足りないので、新規にアプリケーションを作るチームに入れてもらいました。*1
各チームのメンバーは次の通りです。

    • スパルタ新規アプリ組:よしだあつしさん、やまざわさん、よしだゆいちさん、まつもと
    • ゆるふわ既存アプリ組:つじたさん、こざきさん

次にどんなアプリケーションを作るのか話し合いました。

    • ツール系、ネタ系のどっちにする?
    • 外部のサービスを呼びたい!
    • 外部のサービスって何呼ぶの?

といった目的、機能といったことにはじまり、

    • 画面遷移はどうする?
    • どんなDBが必要?
    • DBのカラムは?

といった設計の話、

    • 今日やらなきゃ行けないことは?
    • その分担は?
    • 誰がどの機能を担当するの?*2

といったタスク管理の話にまで及びました。
よしだあつしさんには、Minami.rbのアカウントにリポジトリを登録したり、Issueを追加したり、作業を洗い出したりと色々と下準備をしていただきました。
やまざわさんには、DB設計した結果を基にscaffoldしていただきました。
僕はというと、Ideathonの成果を発表するスライド作りに追われてしまいました…

各チームとも話し合いが終わり、スライドも完成したところで、それぞれがIdeathonで話し合ったことを発表しました。
ゆるふわ既存アプリ組は、つじたさんが開発中のアプリケーションの改修をするということでした。このアプリケーションは勉強会やそこで知り合った人たちとのつながりをGoogleGeoAPIを使って表そうとしていて、現在は入力された勉強会の位置情報や本人の位置情報をマップ上に表示出来るようになっていました。そこでマルチユーザ化や、位置情報が重複した場合に吹き出しを表示するといったことに取り組むそうです。
僕たちのスパルタ新規アプリ組は、行けなかった勉強会を後から体験できるように、勉強会のリソースを集めてくれるサービスを作ることにしました。その名も「ATOVENT」。勉強会の情報を登録すると、入力された情報を基にtwitterの情報を検索、検索結果からURLを取り出して、勉強会の動画、発表資料、勉強会のtogetterといったリソースをまとめて提供するというサービスです。
詳しくは発表資料やMinami.rbのGitHubアカウントにあるリポジトリのページを参照してください。
スライド作成者として発表したのですが、「スライドを作るのは今回が2回目」ということで、簡単なスライドしか作れませんでした。
それでも、タイトルの次は「ファイルが見つからない」という新しいメソッドを生みだした…かも知れないことは収穫でした。
スライドを作る自分なりのスタイルを見つけないと非常にマズイことを痛感。先日インストールできたRabbitを使ってみよう。

今回の会場はスペースふうらというギャラリー・カフェのスペースで、会場の広さテーブルなどが、Ideathonのような座席を移動したり話し合ったりする場としては、すごく良い場所だと思いました。
無機質な会議室とは違って、BGMが流れていたり、絵が飾ってあったりと、リラックスして話するにはとても良い場所だと思いました。メンバーが同じでも場所が違うだけで、無意識のうちに、リラックスできることに驚きました。

*1:つじたさん、よしだあつしさん、事前に配慮していただき、ありがとうございました

*2:よしだあつしさんがRubyの乱数を使ってくじ引きを作ってくれました。で、自分で当たりを引くというw

Railsのインストール

以下のサイトを基にRuby on Rails(以下、Rails)をインストールします。
http://guides.rubyonrails.org/getting_started.html
http://docs.rubygems.org/read/chapter/10#page33

Railsのインストール(ruby-1.9.2-p136)

Railsはgemとして提供されているので、gemのコマンドでインストールします。
最新バージョンのgemは次のコマンドでインストールします。

gem install %gemの名前%

Railsをインストールするということは、「rails」というgemをインストールすることになるので、
最新バージョンのRailsは次のコマンドでインストールします。

gem install rails

実際にインストールしてみます。
まずはRVM管理下にある「ruby-1.9.2-p136」の環境にインストールしてみます。

goh:~ goh$ gem install rails
Fetching: activesupport-3.0.4.gem (100%)
Fetching: builder-2.1.2.gem (100%)
Fetching: i18n-0.5.0.gem (100%)
Fetching: activemodel-3.0.4.gem (100%)
Fetching: rack-1.2.2.gem (100%)
Fetching: rack-test-0.5.7.gem (100%)
Fetching: rack-mount-0.6.14.gem (100%)
Fetching: tzinfo-0.3.26.gem (100%)
Fetching: abstract-1.0.0.gem (100%)
Fetching: erubis-2.6.6.gem (100%)
Fetching: actionpack-3.0.4.gem (100%)
Fetching: arel-2.0.9.gem (100%)
Fetching: activerecord-3.0.4.gem (100%)
Fetching: activeresource-3.0.4.gem (100%)
Fetching: mime-types-1.16.gem (100%)
Fetching: polyglot-0.3.1.gem (100%)
Fetching: treetop-1.4.9.gem (100%)
Fetching: mail-2.2.15.gem (100%)
Fetching: actionmailer-3.0.4.gem (100%)
Fetching: thor-0.14.6.gem (100%)
Fetching: railties-3.0.4.gem (100%)
Fetching: bundler-1.0.11.gem (100%)
Fetching: rails-3.0.4.gem (100%)
Successfully installed activesupport-3.0.4
Successfully installed builder-2.1.2
Successfully installed i18n-0.5.0
Successfully installed activemodel-3.0.4
Successfully installed rack-1.2.2
Successfully installed rack-test-0.5.7
Successfully installed rack-mount-0.6.14
Successfully installed tzinfo-0.3.26
Successfully installed abstract-1.0.0
Successfully installed erubis-2.6.6
Successfully installed actionpack-3.0.4
Successfully installed arel-2.0.9
Successfully installed activerecord-3.0.4
Successfully installed activeresource-3.0.4
Successfully installed mime-types-1.16
Successfully installed polyglot-0.3.1
Successfully installed treetop-1.4.9
Successfully installed mail-2.2.15
Successfully installed actionmailer-3.0.4
Successfully installed thor-0.14.6
Successfully installed railties-3.0.4
Successfully installed bundler-1.0.11
Successfully installed rails-3.0.4
23 gems installed
Installing ri documentation for activesupport-3.0.4...
Installing ri documentation for builder-2.1.2...
Installing ri documentation for i18n-0.5.0...
Installing ri documentation for activemodel-3.0.4...
Installing ri documentation for rack-1.2.2...
Installing ri documentation for rack-test-0.5.7...
Installing ri documentation for rack-mount-0.6.14...
Installing ri documentation for tzinfo-0.3.26...
Installing ri documentation for abstract-1.0.0...
Installing ri documentation for erubis-2.6.6...
Installing ri documentation for actionpack-3.0.4...
Installing ri documentation for arel-2.0.9...
Installing ri documentation for activerecord-3.0.4...
Installing ri documentation for activeresource-3.0.4...
Installing ri documentation for mime-types-1.16...
Installing ri documentation for polyglot-0.3.1...
Installing ri documentation for treetop-1.4.9...
Installing ri documentation for mail-2.2.15...
Installing ri documentation for actionmailer-3.0.4...
Installing ri documentation for thor-0.14.6...
Installing ri documentation for railties-3.0.4...
Installing ri documentation for bundler-1.0.11...
Installing ri documentation for rails-3.0.4...
Installing RDoc documentation for activesupport-3.0.4...
Installing RDoc documentation for builder-2.1.2...
Installing RDoc documentation for i18n-0.5.0...
Installing RDoc documentation for activemodel-3.0.4...
Installing RDoc documentation for rack-1.2.2...
Installing RDoc documentation for rack-test-0.5.7...
Installing RDoc documentation for rack-mount-0.6.14...
Installing RDoc documentation for tzinfo-0.3.26...
Installing RDoc documentation for abstract-1.0.0...
Installing RDoc documentation for erubis-2.6.6...
Installing RDoc documentation for actionpack-3.0.4...
Installing RDoc documentation for arel-2.0.9...
Installing RDoc documentation for activerecord-3.0.4...
Installing RDoc documentation for activeresource-3.0.4...
Installing RDoc documentation for mime-types-1.16...
Installing RDoc documentation for polyglot-0.3.1...
Installing RDoc documentation for treetop-1.4.9...
Installing RDoc documentation for mail-2.2.15...
Installing RDoc documentation for actionmailer-3.0.4...
Installing RDoc documentation for thor-0.14.6...
Installing RDoc documentation for railties-3.0.4...
Installing RDoc documentation for bundler-1.0.11...
Installing RDoc documentation for rails-3.0.4...
goh:~ goh$ 

インストールされたgemを確認してみます。

goh:~ goh$ gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.4)
actionpack (3.0.4)
activemodel (3.0.4)
activerecord (3.0.4)
activeresource (3.0.4)
activesupport (3.0.4)
arel (2.0.9)
builder (2.1.2)
bundler (1.0.11)
erubis (2.6.6)
i18n (0.5.0)
mail (2.2.15)
mime-types (1.16)
polyglot (0.3.1)
rack (1.2.2)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (3.0.4)
railties (3.0.4)
rake (0.8.7)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0.3.26)
goh:~ goh$ 

rails (3.0.4)」がインストールされました。
他にも色々インストールされたようです。
それぞれについては追々みていくことにします。

Railsのインストール(ruby-1.8.7-p330)

同様に、RVM管理下にある「ruby-1.8.7-p330」の環境にもインストールしてみます。
rubyの環境をRVM管理下の「1.8.7」に切替えます。

goh:~ goh$ rvm use 1.8.7
Using /Users/goh/.rvm/gems/ruby-1.8.7-p330
goh:~ goh$ 

最新バージョンのRailsをインストールします。

goh:~ goh$ gem install rails -v 3.0.4
Fetching: tzinfo-0.3.26.gem (100%)
Successfully installed activesupport-3.0.4
Successfully installed builder-2.1.2
Successfully installed i18n-0.5.0
Successfully installed activemodel-3.0.4
Successfully installed rack-1.2.2
Successfully installed rack-test-0.5.7
Successfully installed rack-mount-0.6.14
Successfully installed tzinfo-0.3.26
Successfully installed abstract-1.0.0
Successfully installed erubis-2.6.6
Successfully installed actionpack-3.0.4
Successfully installed arel-2.0.9
Successfully installed activerecord-3.0.4
Successfully installed activeresource-3.0.4
Successfully installed mime-types-1.16
Successfully installed polyglot-0.3.1
Successfully installed treetop-1.4.9
Successfully installed mail-2.2.15
Successfully installed actionmailer-3.0.4
Successfully installed rake-0.8.7
Successfully installed thor-0.14.6
Successfully installed railties-3.0.4
Successfully installed bundler-1.0.11
Successfully installed rails-3.0.4
24 gems installed
Installing ri documentation for activesupport-3.0.4...
Installing ri documentation for builder-2.1.2...
ERROR:  While generating documentation for builder-2.1.2
... MESSAGE:   Unhandled special: Special: type=17, text="<!-- HI -->"
... RDOC args: --ri --op /Users/goh/.rvm/gems/ruby-1.8.7-p330/doc/builder-2.1.2/ri --title Builder -- Easy XML Building --main README --line-numbers --quiet lib CHANGES Rakefile README doc/releases/builder-1.2.4.rdoc doc/releases/builder-2.0.0.rdoc doc/releases/builder-2.1.1.rdoc --title builder-2.1.2 Documentation
(continuing with the rest of the installation)
Installing ri documentation for i18n-0.5.0...
Installing ri documentation for activemodel-3.0.4...
Installing ri documentation for rack-1.2.2...
Installing ri documentation for rack-test-0.5.7...
Installing ri documentation for rack-mount-0.6.14...
Installing ri documentation for tzinfo-0.3.26...
Installing ri documentation for abstract-1.0.0...
Installing ri documentation for erubis-2.6.6...
Installing ri documentation for actionpack-3.0.4...
Installing ri documentation for arel-2.0.9...
Installing ri documentation for activerecord-3.0.4...
Installing ri documentation for activeresource-3.0.4...
Installing ri documentation for mime-types-1.16...
Installing ri documentation for polyglot-0.3.1...
Installing ri documentation for treetop-1.4.9...
Installing ri documentation for mail-2.2.15...
Installing ri documentation for actionmailer-3.0.4...
Installing ri documentation for rake-0.8.7...
Installing ri documentation for thor-0.14.6...
Installing ri documentation for railties-3.0.4...
Installing ri documentation for bundler-1.0.11...
Installing ri documentation for rails-3.0.4...
File not found: lib
ERROR:  While generating documentation for rails-3.0.4
... MESSAGE:   exit
... RDOC args: --ri --op /Users/goh/.rvm/gems/ruby-1.8.7-p330/doc/rails-3.0.4/ri --quiet lib --title rails-3.0.4 Documentation
(continuing with the rest of the installation)
Installing RDoc documentation for activesupport-3.0.4...
Installing RDoc documentation for builder-2.1.2...
Installing RDoc documentation for i18n-0.5.0...
Installing RDoc documentation for activemodel-3.0.4...
Installing RDoc documentation for rack-1.2.2...
Installing RDoc documentation for rack-test-0.5.7...
Installing RDoc documentation for rack-mount-0.6.14...
Installing RDoc documentation for tzinfo-0.3.26...
Installing RDoc documentation for abstract-1.0.0...
Installing RDoc documentation for erubis-2.6.6...
Installing RDoc documentation for actionpack-3.0.4...
Installing RDoc documentation for arel-2.0.9...
Installing RDoc documentation for activerecord-3.0.4...
Installing RDoc documentation for activeresource-3.0.4...
Installing RDoc documentation for mime-types-1.16...
Installing RDoc documentation for polyglot-0.3.1...
Installing RDoc documentation for treetop-1.4.9...
Installing RDoc documentation for mail-2.2.15...
Installing RDoc documentation for actionmailer-3.0.4...
Installing RDoc documentation for rake-0.8.7...
Installing RDoc documentation for thor-0.14.6...
Installing RDoc documentation for railties-3.0.4...
Installing RDoc documentation for bundler-1.0.11...
Installing RDoc documentation for rails-3.0.4...
File not found: lib
ERROR:  While generating documentation for rails-3.0.4
... MESSAGE:   exit
... RDOC args: --op /Users/goh/.rvm/gems/ruby-1.8.7-p330/doc/rails-3.0.4/rdoc --quiet lib --title rails-3.0.4 Documentation
(continuing with the rest of the installation)
goh:~ goh$ 

gemのインストールは成功したようですが、ri、RDocのインストールでは、いくつか失敗しているようです。

    • ri:builder-2.1.2
    • ri:rails-3.0.4
    • RDoc:rails-3.0.4

インストールされたgemを確認してみます。

goh:~ goh$ gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.4)
actionpack (3.0.4)
activemodel (3.0.4)
activerecord (3.0.4)
activeresource (3.0.4)
activesupport (3.0.4)
arel (2.0.9)
builder (2.1.2)
bundler (1.0.11)
erubis (2.6.6)
i18n (0.5.0)
mail (2.2.15)
mime-types (1.16)
polyglot (0.3.1)
rack (1.2.2)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (3.0.4)
railties (3.0.4)
rake (0.8.7)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0.3.26)
goh:~ goh$ 

「1.8.7」の環境にも「rails (3.0.4)」がインストールされました。
riもRDocもドキュメントだということはわかるので、Railsの動作に影響はないと思いますが、

    • どうやって使うのか
    • どうやって修復するのか

は別の機会に確認します。

RubyGems

RubyGems
Ruby用のパッケージ管理システムのプログラム(gemと呼ぶ)やライブラリを管理するパッケージシステム

RubyGems

    • Rubyのプログラム(gemと呼ばれる)やライブラリを配布するための標準のフォーマット
    • インストールされているgemパッケージを管理するための使いやすいツール
    • RubyGemsをインストールしているマシンからgemを提供するためのサーバユーティリティ 
    • gemパッケージを公開する標準的な方法

を提供してくれます。

RubyGems is the premier ruby packaging system. It provides:
・A standard format for distributing Ruby programs and libraries.
・An easy to use tool for managing the installation of gem packages.
・A gem server utility for serving gems from any machine where the RubyGems is installed.
・A standard way of publishing gem packages.

http://docs.rubygems.org/read/book/1

以下、RVM管理下にある「ruby-1.9.2-p136」について話を進めていきます。

RubyGemsのバージョン確認

次のコマンドでRubyGemsのバージョンを確認することができます。

gem --version

このコマンドを実行して、インストールされているRubyGemsのバージョンを確認します。

goh:~ goh$ gem --version
1.5.0
goh:~ goh$ 

RubyGemsのアップデート

2011.02.11現在、RubyGemsの最新バージョンは「1.5.2」なので、アップデートしてみます。
 http://rubyforge.org/projects/rubygems/
 http://rubygems.org/
以下のサイトの手順*1に従ってRubyGemsをアップデートしてみます。
 http://docs.rubygems.org/read/chapter/3#page14
RubyGemsのアップデートの方法は大きく分けて2種類あります。

    • コマンドでアップデートする
    • 最新のRubyGemsをダウンロードしてインストールし直す

まずは、コマンドでアップデートしてみます。
RubyGemsのバージョンが「0.8.5」以上であれば、次のコマンドでRubyGemsをアップデートすることができます。*2

gem update --system

インストールされているバージョンは「1.5.0」なので、実行してみましたが、エラーが発生してしまいました。

goh:~ goh$ gem update --system
Updating RubyGems
ERROR:  While executing gem ... (NoMethodError)
    undefined method `version' for nil:NilClass
goh:~ goh$

以下のいずれかを満たす場合、

    • RubyGemsのバージョンが「0.8.5」より古い
    • RubyGemsのバージョンが「1.2.0」
    • 「gem update --system」コマンド実行時「Nothing to update」と表示された

アップデートするには、次のコマンドを実行する必要があるようです。

gem install rubygems-update
update_rubygems

「gem install rubygems-update」は、「rubygems-update」というgemをインストールするコマンドです。
そこで「rubygems-update」がインストールされているか調べてみることにしました。

インストールされているgemの確認

次のコマンドでインストールされているgemを確認することができます。

gem list

実行してみると、「rake」しかインストールされていないことがわかりました。

goh:~ goh$ gem list

*** LOCAL GEMS ***

rake (0.8.7)
goh:~ goh$ 

gem「rubygems-update」のインストール

次のコマンドを実行して、最新の「rubygems-update」をインストールすることができます。

gem install rubygems-update
update_rubygems

実行してみると、RubyGemsを「1.5.2」にアップデートできました。

goh:~ goh$ gem install rubygems-update
Fetching: rubygems-update-1.5.2.gem (100%)
Successfully installed rubygems-update-1.5.2
1 gem installed
Installing ri documentation for rubygems-update-1.5.2...
Installing RDoc documentation for rubygems-update-1.5.2...
goh:~ goh$ update_rubygems
RubyGems 1.5.2 installed

=== 1.5.2 / 2011-02-10

NOTE:  RubyGems 1.5.0 and 1.5.1 have a broken <tt>gem update --system</tt>.

To upgrade you'll need to use the manual upgrade recipe.  Using sudo/su as
appropriate:

  $ gem install rubygems-update
  $ update_rubygems

Bug Fixes:

* Fixed <tt>gem update --system</tt>.  RubyGems can now update itself again.


------------------------------------------------------------------------------

RubyGems installed the following executables:
	/Users/goh/.rvm/rubies/ruby-1.9.2-p136/bin/gem

goh:~ goh$

「1.5.0」「1.5.1」の「gem update --system」コマンドは壊れていたんですね。
以下のサイトを見てみましたが、「gem update --system」コマンドが壊れているという情報は見当たりませんでした。
 http://docs.rubygems.org/
 http://rubygems.org/
アップデートしないと、コマンドが壊れていたことがわからないというのは、うれしくないです…
コマンド実行後、インストールされているかどうかを「gem list」コマンドで確認しました。

goh:~ goh$ gem list

*** LOCAL GEMS ***

rake (0.8.7)
rubygems-update (1.5.2)
goh:~ goh$ 

元々「rubygems_update」がインストールされていなかったので、「gem install rubygems_update」コマンドを実行すると最新版がインストールされました。
このため「rubygems_update」コマンドを実行する必要はなかったと思われます。

*1:3.3 Updating RubyGems

*2:必要に応じて「sudo」コマンドを使ってください

Rubyの切替

次のコマンドでRubyを切替えることができます。

rvm use %Rubyのバージョン%

「デフォルトの設定」と同様に、「%Rubyのバージョン%」には「rvm install」コマンドで指定した形式でバージョンを指定します。
「1.8.7」に切替えてみます。

goh:~ goh$ rvm use 1.8.7
Using /Users/goh/.rvm/gems/ruby-1.8.7-p330
goh:~ goh$ ruby -v
ruby 1.8.7 (2010-12-23 patchlevel 330) [i686-darwin10.6.0]
goh:~ goh$ 

デフォルトに設定したRubyに切替える場合は、「default」を指定します。

rvm use default

システムにインストールされているRubyに切替える場合は、「system」を指定します。

rvm use system

デフォルトのRuby

デフォルトの設定

以下のコマンドでデフォルトで使うRubyを指定することができます。

rvm --default use %デフォルトで使うRubyのバージョン%

「%デフォルトで使うRubyのバージョン%」には、「rvm install」コマンドで指定した形式でバージョンを指定します。
デフォルトで使うRubyとして「ruby-1.9.2-p136」を設定することにしました。

goh:~ goh$ rvm --default use 1.9.2
Using /Users/goh/.rvm/gems/ruby-1.9.2-p136
goh:~ goh$ 

これでターミナルを起動した時に「1.9.2」が選ばれるようになります。

デフォルトの解除(システムのRubyをデフォルトに設定)

RVMのデフォルトを解除することで、システムにインストールされているRubyがデフォルトで使えるようになります。
次のコマンドを実行して、RVMのデフォルトを解除します。

rvm reset

デフォルトの確認

デフォルトに設定されているRubyは、以下のコマンドで確認することができます。

rvm list default

試しに実行してみると…

goh:~ goh$ rvm list default

Default Ruby (for new shells)

   ruby-1.9.2-p136 [ x86_64 ]

goh:~ goh$ 

「1.9.2」がデフォルトに設定されていることが確認できました。

RVM管理下へのRubyのインストール

1.8系、1.9系の最新版(2011.02.09現在)ということで、以下のバージョンをインストールすることにしました。

    • [ruby-]1.8.7[-p330]
    • [ruby-]1.9.2[-p136]

Rubyのインストール

次のコマンドでRubyをインストールします。

rvm install %Rubyのバージョン%
%Rubyのバージョン%
「rvm list known」コマンドで表示されたバージョン

「rvm list known」コマンドで表示されたバージョン名のうち、[]で囲まれた部分は省略可能です。
まずは、1.8.7をインストールします。

goh:~ goh$ rvm install 1.8.7
/Users/goh/.rvm/rubies/ruby-1.8.7-p330, this may take a while depending on your cpu(s)...

ruby-1.8.7-p330 - #fetching 
ruby-1.8.7-p330 - #extracting ruby-1.8.7-p330 to /Users/goh/.rvm/src/ruby-1.8.7-p330
ruby-1.8.7-p330 - #extracted to /Users/goh/.rvm/src/ruby-1.8.7-p330
ruby-1.8.7-p330 - #configuring 
ruby-1.8.7-p330 - #compiling 
ruby-1.8.7-p330 - #installing 
ruby-1.8.7-p330 - #rubygems installing to ruby-1.8.7-p330
ruby-1.8.7-p330 - adjusting #shebangs for (gem).
ruby-1.8.7-p330 - #importing default gemsets (/Users/goh/.rvm/gemsets/)
Install of ruby-1.8.7-p330 - #complete 
goh:~ goh$ 

同様に、1.9.2もインストールします。

goh:~ goh$ rvm install 1.9.2
/Users/goh/.rvm/rubies/ruby-1.9.2-p136, this may take a while depending on your cpu(s)...

ruby-1.9.2-p136 - #fetching 
ruby-1.9.2-p136 - #downloading ruby-1.9.2-p136, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 8612k  100 8612k    0     0  3120k      0  0:00:02  0:00:02 --:--:-- 3787k
ruby-1.9.2-p136 - #extracting ruby-1.9.2-p136 to /Users/goh/.rvm/src/ruby-1.9.2-p136
ruby-1.9.2-p136 - #extracted to /Users/goh/.rvm/src/ruby-1.9.2-p136
ruby-1.9.2-p136 - #configuring 
ruby-1.9.2-p136 - #compiling 
ruby-1.9.2-p136 - #installing 
ruby-1.9.2-p136 - Updating #rubygems to the latest.
Removing old Rubygems files...
Installing rubygems dedicated to ruby-1.9.2-p136...
Installing rubygems for /Users/goh/.rvm/rubies/ruby-1.9.2-p136/bin/ruby
Installation of rubygems completed successfully.
ruby-1.9.2-p136 - Updating #rubygems to the latest.
Removing old Rubygems files...
Installing rubygems dedicated to ruby-1.9.2-p136...
Installing rubygems for /Users/goh/.rvm/rubies/ruby-1.9.2-p136/bin/ruby
Installation of rubygems completed successfully.
ruby-1.9.2-p136 - adjusting #shebangs for (gem).
ruby-1.9.2-p136 - #importing default gemsets (/Users/goh/.rvm/gemsets/)
Install of ruby-1.9.2-p136 - #complete 
goh:~ goh$ 

インストールされたことの確認

以下のコマンドで、RVM管理下にインストールされているRubyを確認できます。

rvm list

このコマンドを実行し、インストールされているRubyを確認します。

goh:~ goh$ rvm list

rvm rubies

   ruby-1.8.7-p330 [ x86_64 ]
   ruby-1.9.2-p136 [ x86_64 ]

goh:~ goh$