Redmineをバージョンアップしたかったのですが利用するディストリビューションによっては、Rubyのバージョンが古くてバージョンアップできません。
ソースからRubyだけ最新バージョンをインストールしても関連するrailsやrakeなどにもバージョンがあり、とても管理しきれません。
rvmを使うとRubyのバージョンを簡単に導入したり切り替えたりできます。
rvmのインストール
aptにruby-rvmパッケージがあるので、これを使ったほうが良いでしょう。
気が付かづにrvmインストールでインストールしました。
以下の手順でrvmを導入してRuby 1.9.3をインストールし、もともとインストールされていたRubyと簡単に切り替えられました。
$ curl -L get.rvm.io | bash -s stable $ source .rvm/scripts/rvm $ rvm install 1.9.3 $ ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] $ rvm use system Now using system ruby. $ ruby -v ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] $
zlibのインストール
gemを使うには、zlibが必要だったようです。
$ rvm use 1.9.3 Using ~/.rvm/gems/ruby-1.9.3-p194 $ gem install passenger ERROR: Loading command: install (LoadError) cannot load such file -- zlib ERROR: While executing gem ... (NameError) uninitialized constant Gem::Commands::InstallCommand $
ruby-rvmパッケージでインストールすれば、依存パッケージがインストールされて問題なかったはずです。
$ sudo apt-get install zlib1g-dev
これで、改めて1.9.3を再インストールするとgemが使えるようになります。
$ rvm remove 1.9.3 $ rvm install 1.9.3 $ rvm use 1.9.3 $ gem install passenger Fetching: fastthread-1.0.7.gem (100%) Building native extensions. This could take a while... Fetching: daemon_controller-1.0.0.gem (100%) Fetching: rack-1.4.1.gem (100%) Fetching: passenger-3.0.12.gem (100%) Successfully installed fastthread-1.0.7 Successfully installed daemon_controller-1.0.0 Successfully installed rack-1.4.1 Successfully installed passenger-3.0.12 4 gems installed Installing ri documentation for fastthread-1.0.7... Installing ri documentation for daemon_controller-1.0.0... Installing ri documentation for rack-1.4.1... Installing ri documentation for passenger-3.0.12... Installing RDoc documentation for fastthread-1.0.7... Installing RDoc documentation for daemon_controller-1.0.0... Installing RDoc documentation for rack-1.4.1... Installing RDoc documentation for passenger-3.0.12... $
やっぱり、aptパッケージを使うべきでした。