Ubuntu10.04にRuby&Rails環境を作ってみた

トラックバックの不調でMacBookが入院して、職場でRailsのデモをする端末がない(> <)てことで、
急遽、ウチにちょっと放置されてたWindowsLinux(Ubuntu10.04)に入れ替えてRuby&Rails環境構築したのでメモメモ。


今回のOS

  • Ubuntu10.04

インストールしたもの


Rubyのインストール
インストール方法

    • make(最新版をダウンロードして自分でコンパイル
    • 簡単インストール(Ubuntuが用意してるバイナリパッケージを利用:多少バージョンが古い)

今回は、簡単インストールで。でも、CUIで。
ちなみに、DebianLinuxのバイナリパッケージはdebていう。コマンドはapt。Centos系はパッケージ名rpm、コマンドyum
まず、どんなRubyのパッケージがあるか検索。

$ apt-cache search ruby

やたらいっぱい出てくるので、絞り込み。

$ apt-cache search ruby | grep '^ruby'

|はパイプ、"grep"は絞り込みのコマンド、~は正規表現の行頭。
ちなみに、depパッケージの命名規則で、"*-doc"はドキュメント、"*-dev"はヘッダーファイル(rubyの場合だとgemでコンパイルが必要なライブラリを作るのに必要だったりする)だそうで。
今回は、諸事情でruby1.8系をインストール。
パッケージruby1.8の説明を見てみると、

$ apt-cache show ruby1.8
Package: ruby1.8
Priority: optional
Section: interpreters
Installed-Size: 136
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: akira yamada <akira@debian.org>
Architecture: i386
Version: 1.8.7.249-2
Depends: libc6 (>= 2.3.6-6~), libruby1.8 (>= 1.8.7.249)
Suggests: ruby1.8-examples, rdoc1.8, ri1.8
Filename: pool/main/r/ruby1.8/ruby1.8_1.8.7.249-2_i386.deb
Size: 24060
MD5sum: 47085a82a3d573f1c1e4a79de21db862
SHA1: 1bcf7e9e5fb5f73c72dcdfe180359c3508f134e5
SHA256: fd4d7ece2ceb0301ed2eecc8fdb7beb5e0e95b5e5e1b4d5d0b62b6260e49b6d9
Description: Interpreter of object-oriented scripting language Ruby 1.8
 Ruby is the interpreted scripting language for quick and easy
 object-oriented programming.  It has many features to process text
 files and to do system management tasks (as in perl).  It is simple,
 straight-forward, and extensible.
 .
 This package provides version 1.8 series of Ruby.
 .
 On Debian, Ruby 1.8 is provided as separate packages.  You can get
 full Ruby 1.8 distribution by installing following packages.
 .
   ruby1.8 ruby1.8-dev ri1.8 rdoc1.8 irb1.8 ruby1.8-elisp
   ruby1.8-examples libdbm-ruby1.8 libgdbm-ruby1.8 libtcltk-ruby1.8
   libopenssl-ruby1.8 libreadline-ruby1.8
Homepage: http://www.ruby-lang.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y

Versionは1.8.7p249。-2はUbuntuがパッケージを2回作ったということだそうで。
あと、

 On Debian, Ruby 1.8 is provided as separate packages.  You can get
 full Ruby 1.8 distribution by installing following packages.
 .
   ruby1.8 ruby1.8-dev ri1.8 rdoc1.8 irb1.8 ruby1.8-elisp
   ruby1.8-examples libdbm-ruby1.8 libgdbm-ruby1.8 libtcltk-ruby1.8
   libopenssl-ruby1.8 libreadline-ruby1.8

とあるので、これらを全部インストール。

$ sudo apt-get install ruby1.8 ruby1.8-dev ri1.8 rdoc1.8 irb1.8 ruby1.8-elisp ruby1.8-examples libdbm-ruby1.8 libgdbm-ruby1.8 libtcltk-ruby1.8 libopenssl-ruby1.8 libreadline-ruby1.8

ちゃんとインストールされたかどうか確認。

$ ruby -v
プログラム 'ruby' はまだインストールされていません。  次のように入力することでインストールできます:

sudo apt-get install ruby

あれ?って感じでしたが、なんでも、"ruby"っていう名前を使うのに、rubyパッケージが必要なようで。

$ sudo apt-get install ruby

そして、再確認。

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

Rubyのインストールができました。


RubyGemsのインストール
パッケージもあるようなのですが、これはブラウザ(http://rubyforge.org/projects/rubygems/)から、tgzをダウンロード。
(2010/12/10現在の最新バージョンはrubygems-1.3.7)
任意(どこでもいいらしい)のフォルダに展開。

$ tar zxvf rubygems-1.3.7

インストールの仕方は大抵INSTALLとかREADMEってファイルに書いてるらしい。
展開したフォルダを見てみると、READMEがあったので覗いてみる。

$ cat README 
= RubyGems

* http://rubygems.org/
* http://docs.rubygems.org/
* http://rubygems.rubyforge.org/
*[Ruby/Rails] http://rubyforge.org/projects/rubygems

== DESCRIPTION

RubyGems is a package management framework for Ruby.

(中略)

If you don't have any RubyGems install, there is still the pre-gem approach to
getting software, doing it manually:

1. Download from: http://rubyforge.org/frs/?group_id=126
2. Unpack into a directory and cd there
3. Install with: ruby setup.rb  # you may need admin/root privilege

For more details and other options, see:

  ruby setup.rb --help

1はもちろん終わってて、2はREADMEを見れてたら大丈夫で、あと3だけ。(ある意味まぎらわしい説明。)

$ sudo ruby setup.rb

インストールされたかどうか、確認。

$ gem --version
プログラム 'gem' は以下のパッケージで見つかりました:
 * rubygems1.8
 * rubygems1.9.1
次の操作を試してください: sudo apt-get install <選択したパッケージ>

gemも"1.8"という名前がついてるようで。
ここではシンボリックリンクwindowsで言うところのショートカット)を張る。

$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

"ln"がリンク、"ln -s"がシンボリックリンク。何かうまくいかないときはgem1.8フォルダの場所を確認。
これで再確認。

$ gem --version
1.3.7

gemのインストールまでできました。


Railsのインストール
やっとRailsのインストールです。

$ sudo gem install rails -v=2.3.5

事情により、古いバージョンを指定してインストール。
さらに、最新版のRails3系もインストール。

$ sudo gem install rails

Rails2系と3系の共存で、細工が必要なところもあるようですが(私が知ってるのはテスト関係)、それ以外は小難しいことをしなければ動いてます。
インストール中にWhile generating documentation...とか、File not found libとかありましたが、rdoc系のエラーは無視してても大丈夫ってことで。
インストールできたかどうか確認。

$ gem list

の中で、

rails (3.0.3, 2.3.5)

があれば大丈夫。
それから、開発環境ではsqlite3を使ってるので、aptパッケージのsqlite3とlibsqlite3をインストール。

$ sudo apt-get install sqlite3

パッケージ名を確認。

$ apt-cache search libsqlite3
libsqlite3-0 - SQLite 3 shared library
libsqlite3-0-dbg - SQLite 3 debugging symbols
libsqlite3-dev - SQLite 3 development files
libsqlite3-ocaml - Embeddable SQL Database for OCaml Programs
libsqlite3-ocaml-dev - Embeddable SQL Database for OCaml Programs
libsqlite3-ruby - SQLite3 interface for Ruby
libsqlite3-ruby1.8 - SQLite3 interface for Ruby 1.8
libsqlite3-ruby1.9.1 - SQLite3 interface for Ruby 1.9.1
libsqlite3-tcl - SQLite 3 Tcl bindings
libsqlite3-gst - SQLite bindings for GNU Smalltalk
pidgin - graphical multi-protocol instant messaging client for X

ここではlibsqlite3-devをインストール

$ sudo apt-get install libsqlite3-dev

sqlite3を使うのに、gemのsqlite3も要るんだとか。
ということで、gemのsqlite3も調べてみる。

$ gem search sqlite3 -r

*** REMOTE GEMS ***

activerecord-jdbcsqlite3-adapter (1.0.3 java, 0.9.2)
dbd-sqlite3 (1.2.5)
do_sqlite3 (0.10.2 ruby java x86-mingw32 x86-mswin32-60)
jdbc-sqlite3 (3.6.14.2.056 java, 3.6.3.054)
rdbi-driver-sqlite3 (0.9.0)
sqlite3 (0.1.1)
sqlite3-dotnet (3.7.2.1)
sqlite3-ironruby (0.1.1)
sqlite3-ruby (1.3.2 ruby x86-mingw32 x86-mswin32-60, 1.2.5 x86-mswin32, 1.2.3 mswin32)

ということで、インストール。

$ sudo gem install sqlite3-ruby

これでsqlite3のインストール終わり。なんでこんだけ要るかはよくわかんないんだけど・・・。
んで、あとでRails使っててなぜかscript/consoleができなかったんで、

$ sudo apt-get install irb

これで、Rails環境整いました。


gitのインストール
最後に、git使ってるんでインストール。これもaptパッケージを利用。

$ apt-cache search git|grep 'fast, scalable'
git-core - fast, scalable, distributed revision control system
git-doc - fast, scalable, distributed revision control system (documentation)
gitk - fast, scalable, distributed revision control system (revision tree visualizer)
git-arch - fast, scalable, distributed revision control system (arch interoperability)
git-cvs - fast, scalable, distributed revision control system (cvs interoperability)
git-daemon-run - fast, scalable, distributed revision control system (git-daemon service)
git-email - fast, scalable, distributed revision control system (email add-on)
git-gui - fast, scalable, distributed revision control system (GUI)
git-svn - fast, scalable, distributed revision control system (svn interoperability)
gitweb - fast, scalable, distributed revision control system (web interface)

'fast, scalable'が何かは知りません。教わったとおりに検索しました。。。
んで、インストール。

$ sudo apt-get install git-core

確認するとこんな感じ。

$ git --version
git version 1.7.0.4


実は、明日にはMac退院するんですけどね。
勉強になりました。