CentOS 5.2 に rails 環境を構築する
構築したい環境は以下です
Ruby 1.8.6 | |
Rails 2.0.2 | |
thin 1.0.0 |
使用する DB は MySQL ですが、こちらは既存のものを使用します
★ おもむろに ruby
# yum install ruby ruby-devel rdoc irb
とやってみたら、ruby 1.8.5 がくる。。
なんだかこの yum のパッケージではこれが最新みたいだったので
仕方なくソースで ruby をいれました
# cd /usr/local/src/ # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz # tar zxvf ruby-1.8.6.tar.gz # cd ruby-1.8.6 # ./configure
そしたら途中で
configure: error: no acceptable C compiler found in $PATH
と怒られたので、gcc をインストール
# yum install gcc
さて、再開です
※ console 使いたいなら readline 入れるべし(日記の最後参照)
# ./configure # make # make install
インストールできた!
と思って ruby -v をやってみるものの、動かない。。
そういえばパスを通してあげねば
# cd ~/ # vi .bash_profile
ここの PATH に /usr/local/bin/ruby を追加して
# source .bash_profile # ruby -v
これで表示されれば OK
★ gem
次いで rails たちをいれるために gem をいれたのですが、
これもソースから入れました
バージョンはとりあえず 0.9.4
# cd /usr/local/src/ # wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz # tar zxvf rubygems-0.9.4.tgz # cd rubygems-0.9.4 # ruby setup.rb
そしたら、
no such file to load -- zlib (LoadError)
と怒られたので
zlib やら zlib-devel かなと思っていれてみたけどやっぱりだめ
どうやら ruby 用のやつが必要だったみたいです
# cd /usr/local/src/ruby-1.8.6/ext/zlib/ # ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib # make # make install
入れ終わったところでおもむろに再開
# cd /usr/local/src/rubygems-0.9.4 # ruby setup.rb
今度は入ったみたいです
# gem -v
で表示されれば OK です
★ rails
# gem install rails -v=2.0.2
一緒に入ってくる rake 0.8.3 は微妙そうな予感がするので
0.7.3 あたりにしておく
# gem install rake -v=0.7.3 # gem uninstall rake -v=0.8.3
★ thin
# gem install thin
g++ がないらしい怒られかたをしたので
# yum install gcc-c++
完了後に thin を入れ直して成功
ちなみに eventmachine は自分のローカルと同じ 0.12.2 を選択してみました
★ おまけ
subversion からプロジェクトをもってくるために
# yum install subversion
アプリ用ユーザに切り替えて、適当なディレクトリにプロジェクトをチェックアウト
DB 設定やらもろもろ設定したあとに rake db:migrate で
no such file to load -- openssl
と怒られました
これは opessl と同じバージョンの openssl-devel を入れてから
ruby-openssl を入れて解決できるようです
参考にさせていただいたサイトはコチラ
ちなみに、ruby-openssl が入ってない場合は、
# ruby -r openssl -e ""
と入力すると以下のように怒られます
ruby: no such file to load -- openssl (LoadError)
・まず、openssl のバージョンを確認
# rpm -qa | grep openssl
結果↓
openssl-0.9.8b-10.el5_2.1
・表示された openssl と同じバージョンの openssl-devel をインストール
# yum install openssl-devel-0.9.8b-10.el5_2.1
・ruby の OpenSSL 拡張
# cd /usr/local/src/ruby-1.8.6/ext/openssl/ # ruby extconf.rb # make # make install
インストールが完了すれば
# ruby -r openssl -e ""
と入力してももう怒られません
とりあえずこんなかんじで構築完了?
後に console 使おうとしたら
no such file to load -- readline (LoadError)
と怒られてしまうはめに。。
ruby を install するときに、
./configure --with-install-readline
とやっておくべきらしい
それか、readline-devel の入れ忘れとかとあわせて
あとから入れ直すときは
# cd /usr/src/ruby-1.8.6/ext/readline # ruby extconf.rb # make # make install
これで大丈夫らしい