CentOS 5.5にrubyとrubygemsを入れて、Ruby on Railsの環境を構築してみた
立て続けに日記。
前回リポジトリを追加して、新しめのパッケージをインストールすることができるよになったが、
rubyに関しては1.8.5で古いまま。
1.8.5でインストールすると、rails入れる段階で1.8.7にしろよ、と怒られる。
なので、1.8.7を入れるようにする。
やりたいことは
ということ。
これが結構大変でした。
パッケージを作る準備
調べて回ると、checkinstallからパッケージを作ってる方が多かった。
なので自分もそれに倣ってやってみることに。
以下のサイトを参考に進めました。
http://teps4545.blogspot.com/2010/10/centos-55-ruby-187-passenger-300.html
checkinstallパッケージをインストールする。がしかし・・・
checkinstallパッケージをインストールする。
これまたrpmforgeリポジトリにあるらしい。
なので、前回同様リポジトリを追加してみる。
$ wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm $ sudo rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm $ sudo vim /etc/yum.repos.d/rpmforge.repo enabled=1をenabled=0にする
んでインストール
$ sudo yum --enablerepo=rpmforge install checkinstall Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.nara.wide.ad.jp * base: ftp.nara.wide.ad.jp * extras: ftp.nara.wide.ad.jp * rpmforge: ftp-stud.fht-esslingen.de * updates: ftp.nara.wide.ad.jp Setting up Install Process No package checkinstall available. Nothing to do
ん?
$ sudo yum --enablerepo=rpmforge search checkinstall Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.nara.wide.ad.jp * base: ftp.nara.wide.ad.jp * extras: ftp.nara.wide.ad.jp * rpmforge: ftp-stud.fht-esslingen.de * updates: ftp.nara.wide.ad.jp Warning: No matches found for: checkinstall No Matches found
無いようです・・・。
どっかにパッケージ無いか探したけど、これと言ってよさげなものがない。
なのでソースから入れました。
まあパッケージ作るだけだからいいか、と。
$ sudo http://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz $ tar zxvf checkinstall-1.6.2.tar.gz $ cd checkinstall-1.6.2 $ make $ sudo make install
/usr/local/sbin/checkinstallがインストールされます。
これでパッケージ作る準備は完了。
rubyのパッケージを作る&インストール
以下の手順で。
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p334.tar.gz $ tar zxvf ruby-1.8.7-p334.tar.gz $ cd ruby-1.8.7-p334 $ ./configure --prefix=/usr $ make $ sudo /usr/local/sbin/checkinstall --fstrans=no checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. (省略) ********************************************************************** Done. The new package has been saved to /usr/src/redhat/RPMS/x86_64/ruby-1.8.7-p334-1.x86_64.rpm You can install it in your system anytime using: rpm -i ruby-1.8.7-p334-1.x86_64.rpm **********************************************************************
色々聞かれますが、そのままデフォルトでやっちゃいました。
そしてインストール
$ sudo rpm -ihv /usr/src/redhat/RPMS/x86_64/ruby-1.8.7-p334-1.x86_64.rpm
ok
rubygemsのパッケージを作る&インストール
続いてrubygems。
これも同様にパッケージを作成していきます。
$ wget http://rubyforge.org/frs/download.php/74234/rubygems-1.5.2.tgz $ tar zxvf rubygems-1.5.2.tgz $ cd rubygems-1.5.2 $ sudo /usr/local/sbin/checkinstall -R "ruby setup.rb"
ここでエラー発生。
「/usr/local/lib64/installwatch.soがねーよ」と怒られる。
調べて以下のサイト発見。
http://d.hatena.ne.jp/yk77/20101123/1290460702
そんな感じでシンボリックリンクを付ける。
$ sudo ln -s /usr/local/lib/installwatch.so /usr/local/lib64/installwatch.so
これで回避。
んで再度実行するとまたもやエラー
$ sudo /usr/local/sbin/checkinstall -R "ruby setup.rb" (省略) Installing with ruby setup.rb... ========================= Installation results =========================== /var/tmp/tmp.IgXYC16603/installscript.sh: line 4: ruby setup.rb: command not found **** Installation failed. Aborting package creation. Cleaning up...OK Bye.
今度は「ruby setup.rbていうコマンドないよ」と怒られる。
これがよくわからなかった。
どこのサイトでも「/usr/local/sbin/checkinstall -R "ruby setup.rb"」と書いてある。
何でだろうな?
rootでやってみるも☓
/usr/bin/rubyとかfullpathでやってみるも☓
うむむ・・・・
ちなみにパッケージを作成せずに直接インストールは普通にできた。
$ sudo /usr/bin/ruby setup.rb
もうそれでもいいかな・・・。
けど何かわかりそうなんだよな・・・。
そして考えること1時間。
できた。
$ /usr/local/sbin/checkinstall -R ruby setup.rb checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. (省略) ********************************************************************** Done. The new package has been saved to /usr/src/redhat/RPMS/x86_64/rubygems-1.5.2-1.x86_64.rpm You can install it in your system anytime using: rpm -i rubygems-1.5.2-1.x86_64.rpm **********************************************************************
「sudo /usr/local/sbin/checkinstall -R "ruby setup.rb"」ではなく
「sudo /usr/local/sbin/checkinstall -R ruby setup.rb」
ダブルクォーテーションがいらない。
以上。
時間がかかった。
あとはインストール
$ sudo rpm -ihv /usr/src/redhat/RPMS/x86_64/rubygems-1.5.2-1.x86_64.rpm
これで環境は整いました。
いやー時間かかった。
試しにrailsでも入れてみる。
gemからrailsを入れてみる。
がしかし・・・。
$ sudo gem install rails ERROR: Loading command: install (LoadError) no such file to load -- zlib ERROR: While executing gem ... (NameError) uninitialized constant Gem::Commands::InstallCommand
もうヤダ・・・。
zlibやzlib-develが無いのかなぁと思ってインストールするも☓
で、またもや色々探し回ってサイト発見。
http://leaveanotemessagebehind.blogspot.com/2007/08/centosrubygems.html
解決策は以下のとおり。
$ cd ruby-1.8.7-p334 $ cd ext/zlib/ $ ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib $ make $ make install
これでrailsがインストールできる。
できるが、「rdocが云々・・・」と怒られる。
なのでgemからrdocをインストールする。
$ sudo gem install rdoc
これで再度railsをインストールすれば怒られな・・・
$ sudo gem install rails (省略) Installing ri documentation for rails-3.0.4... File not found: lib
またか。
調べる。サイト発見。
http://www.ruby-forum.com/topic/216257
解決。
$ sudo mkdir /usr/lib/ruby/gems/1.8/gems/rails-3.0.4/lib $ sudo gem install rails Successfully installed rails-3.0.4 1 gem installed Installing ri documentation for rails-3.0.4... Installing RDoc documentation for rails-3.0.4...
長い道のりだったよ。
- ソースダウンロード
-
- checkinstall source
http://www.asic-linux.com.mx/~izto/checkinstall/download.php
-
- ruby source
http://www.ruby-lang.org/ja/downloads/
-
- rubygems source