Railsを入れる

WindowsではRails本のサンプルで勉強しようと思って、1.2を入れたんだけど、Ubuntu Serverは曲がりなりにも本番系サーバなので、やっぱり一番新しい安定版を入れたいよね。

Railsのインストール

$ gem install rails --include-dependencies

ERROR:  While executing gem ... (Gem::GemNotFoundException)
    Could not find rails (> 0) in any repository

エラーになった。スペルは間違ってないのに。ググルとリモートインストールにはコマンドラインオプションが必要らしい。

$gem install --remote rails --include-dependencies

ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied - /var/lib/gems/1.8/cache/rake-0.8.1.gem

またエラーになった。今度はパーミッションがないからだね、はいはい。

$ sudo gem install --remote rails --include-dependencies

ERROR:  While executing gem ... (Gem::GemNotFoundException)
    Could not find rails (> 0) in any repository

やっぱりエラーだ。もしかして rootじゃないとインストールできないってか。

$sudo su -
# gem install --remote rails --include-dependencies

Successfully installed rails-2.0.2
Successfully installed rake-0.8.1
Successfully installed activesupport-2.0.2
Successfully installed activerecord-2.0.2
Successfully installed actionpack-2.0.2
Successfully installed actionmailer-2.0.2
Successfully installed activeresource-2.0.2
Installing ri documentation for rake-0.8.1...
Installing ri documentation for activesupport-2.0.2...
Installing ri documentation for activerecord-2.0.2...
Installing ri documentation for actionpack-2.0.2...
Installing ri documentation for actionmailer-2.0.2...
Installing ri documentation for activeresource-2.0.2...
Installing RDoc documentation for rake-0.8.1...
Installing RDoc documentation for activesupport-2.0.2...
Installing RDoc documentation for activerecord-2.0.2...
Installing RDoc documentation for actionpack-2.0.2...
Installing RDoc documentation for actionmailer-2.0.2...
Installing RDoc documentation for activeresource-2.0.2...

やっとできた。一応確認。

$ rails -v
The program 'rails' is currently not installed.  You can install it by typing:
sudo apt-get install rails
bash: rails: command not found

エラーになるよ、ママン。『Successfully installed rails-2.0.2』って出たのに。大人しく指示に従うことに。

$ sudo apt-get install rails

今度こそうまくいったかも。

$ rails -v
getopt: invalid option -- v
Terminating...

なんでだ。ググった情報を元にもう一度 gemでインストールしてやる。

$ sudo apt-get install libopenssl-ruby
$ sudo gem install rails

Successfully installed rails-2.0.2

今度こそ大丈夫だろ。

$ rails -v
getopt: invalid option -- v
Terminating...

ダメだ!(orz) でもなんとかする!

$ which rails
/usr/bin/rails
$ sudo nano /usr/bin/rails

どうやらこの『/usr/bin/rails』ファイルがおかしいな。-vなんてオプションにないしな。ググれ、ググれ!
debian公式パッケージとして配布されているrailsの実行ファイルがshellで書かれているから』という情報をこちら(→http://syualive.jugem.cc/?month=200706)でゲット。そういうことか、やっとわかったぞ。『sudo apt-get install rails』がやっぱり悪かったんだな。

$ sudo apt-get remove --purge rails

サッサと消し消し。

$ sudo gem install rails
Successfully installed rails-2.0.2

$ rails -v
-bash: /usr/bin/rails: No such file or directory

$ sudo ln -s /var/lib/gems/1.8/bin/rails /usr/bin/rails

$ rails -v
Rails 2.0.2

gemで入れたrailsから『/usr/bin/rails』にシンボリックリンクを張っておいた。これで本当に成功。
ちなみに『sudo apt-get install rails』でインストールするとこんなところにrailsができます。

/usr/bin/rails
/usr/share/doc-base/rails
/usr/share/lintian/overrides/rails
/usr/share/man/man1/rails.1.gz
/usr/share/doc/rails
/usr/share/doc/rails/html/files/vendor/rails
/usr/share/rails
/usr/share/rails/actionpack/test/fixtures/public/images/rails.png
/usr/share/rails/railties/test/rails_info_controller_test.rb
/usr/share/rails/railties/test/rails_info_test.rb
/usr/share/rails/railties/test/rails_generator_test.rb
/usr/share/rails/railties/html/images/rails.png
/usr/share/rails/railties/lib/rails_generator.rb
/usr/share/rails/railties/lib/rails
/usr/share/rails/railties/lib/rails_generator
/usr/share/rails/railties/lib/tasks/rails.rb
/usr/share/rails/railties/builtin/rails_info
/usr/share/rails/railties/builtin/rails_info/rails_info_controller.rb
/usr/share/rails/railties/builtin/rails_info/rails
/usr/share/rails/railties/bin/rails
/var/lib/dpkg/info/rails.md5sums
/var/lib/dpkg/info/rails.list
/var/lib/dpkg/info/rails.prerm
/var/lib/dpkg/info/rails.postinst

参考

こちら(→http://syualive.jugem.cc/?month=200706)で疑問が氷解しました。感謝!
シンボリックリンクを張る方法はこちら(→2007-09-20)とかこちら(→2008-02-19)が参考になりました。
こちら(→第1回 インストール - Ruby on Rails 2.0 日記 - Ruby on Rails with OIAX)も参考になりました。多謝!