2010-04-18追記
まとめました。
ゼロから構築する rails環境
===============
いつもの通りにCentOSにrailsを入れようかな~、フンフン♪~、と思って構築しだしたのですが、何か大変だったのでメモ。(全部rootで作業してます。)
ほとんどまっさらのCentOSにyumでrubyインストールしてgems入れようとしたら面倒でした。
# yum install ruby ruby-devel rdoc # wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.6.tgz # tar xzf rubygems-1.3.6.tgz # cd rubygems-1.3.6 # ruby ./setup.rb ERROR: Expected Ruby version >= 1.8.6, is 1.8.5
rubyが1.8.6以上でないとダメらしい。
gems1.3.4までは通ってたと思うので、1.3.5か1.3.6からruby1.8.6以上が必要になったっぽい。
困ったことにyumでは1.8.6取れないので、ソースから1.8.7インストール。
# ruby -v ruby 1.8.5 # yum remove ruby # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz # tar xzf ruby-1.8.7-p249.tar.gz # cd ruby-1.8.7-p249 # ./configure --prefix=/usr ... configure: error: no acceptable C compiler found in $PATH ...
コンパイラも無いって言うから、gccいれてインストール続行。
# yum install gcc # ./configure --prefix=/usr # make # checkinstall --fstrans=no -bash: checkinstall: command not found
今度はcheckinstallが無いのか。
# yum install checkinstall No package checkinstall available.
コンパイルしろってか。
# wget http://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz # tar xzf checkinstall-1.6.2.tar.gz # cd checkinstall-1.6.2 # make # make install
OK。
ちゃんとRPMパッケージ作っとかないとね。
後々大変だから!
# cd /tmp/ruby-1.8.7-p249 # ./configure --prefix=/usr # make # checkinstall --fstrans=no
あれ?RPMパッケージできてこない・・・。
よく見たら、rpmbuildがないとエラーが。。
*** The "rpmbuild" program is not in your PATH! *** RPM package creation aborted
で、よく考えたらcheckinstall自体のパッケージ作るのも忘れてた・・・。
make installは通ってるみたいだし、もういいや。
(yum install rpm-buildすればOKみたい。)
# ruby -v ruby 1.8.7 # cd /tmp/rubygems-1.3.6 # ruby ./setup.rb RubyGems 1.3.6 installed # gem install rails `gem_original_require': no such file to load -- zlib (LoadError)
またエラーが。今度はzlibがロードできないと。。
zlibへのパス通してまたmakeやり直し・・・。
# cd /tmp/ruby-1.8.7-p249/ext/zlib # ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib checking for deflateReset() in -lz... no checking for deflateReset() in -llibz... no checking for deflateReset() in -lzlib1... no checking for deflateReset() in -lzlib... no checking for deflateReset() in -lzdll... no
何これ?zlibないの?
# yum install zlib Package zlib-1.2.3-3.i386 already installed and latest version Nothing to do
あるって言ってるよ?
# yum list | grep zlib ...
何か色々出てきた。それっぽいzlib-develをインストールしたらOKだった。
# yum install zlib-devel # ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib # make # make install # gem install rails
ここまでの流れ、ここにも書いてた。
http://d.hatena.ne.jp/akm/20090410/1239353348
次回の時のためのメモ
・rpm-buildをインストールして、checkinstall用意。
・yumのrubyはもう使えない。
・rubyコンパイル時にzlibロードすること。
=== 追記 ===
rails環境構築の道は険しい。
・サーバ起動でエラー
no such file to load -- openssl.so
OpenSSLライブラリがロードできてない。
# yum install openssl-devel # cd /tmp/ruby-1.8.7-p249/ext/openssl # ruby extconf.rb --with-openssl-dir=/usr/local/ssl # make # make install
・mysql接続でエラー
no such file to load -- mysql
MySQLライブラリがロードできてない。
mysqlドライバも入れてなかった。
# yum install mysql-devel # gem install mysql
あれ?素直に一発OK。
以前は通らなくて大変だった記憶が・・・。
gemもmysqlドライバもバージョンアップされてるみたいですし、通るようになったのかな?
一応その時の手順。
gemのMySQLドライバのインストール先調べて再コンパイル
# gem env - GEM PATHS: - /usr/lib/ruby/gems/1.8 # cd /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ # which mysql_config /usr/bin/mysql_config # ruby extconf.rb --with-mysql-config=/usr/bin/mysql_config # make # make install
mysql-2.8.1パッケージにはextconf.rbが見つからない。
よく分からないけど素直に通ったので良しとすることに。
0 件のコメント:
コメントを投稿