Ruby on Rails 2.3.3 のインストール Linux
はじめに
前回、Ruby のインストールを行いました。
今回はRuby on Rails のインストール方法になります。
これを機会に1つサービスを構築しようと思っています。
いつもながらCentOS 5.3 です。
パスを通していない方はruby にパスを通しましょう。
最新版のgems を採用したい場合はインストールします。
下記より最新版のソースを取得します。
http://rubyforge.org/projects/rubygems/
# wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
解凍
# tar zxvf rubygems-1.3.5.tgz
コンパイルとインストール
# cd ruby-1.9.1-p243
# cd rubygems-1.3.5
# ruby setup.rb config
# ruby setup.rb setup
# ruby setup.rb install
インストールの確認
下記より最新版のソースを取得します。
# gem -v
1.3.5
エラーが表示された場合
下記のようなエラーが発生した場合、
zlib-devel をインストールせずに Ruby をインストールした可能性があります。
yum install zlib-devel
を実行後、Ruby を再インストールしましょう。
/usr/local/ruby/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:1:in `require’: no such file to load — zlib (LoadError)
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:1:in `<top (required)>’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/commands/update_command.rb:5:in `require’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/commands/update_command.rb:5:in `<top (required)>’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/command_manager.rb:140:in `require’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/command_manager.rb:140:in `rescue in load_and_instantiate’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/command_manager.rb:132:in `load_and_instantiate’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/command_manager.rb:65:in `[]’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/command_manager.rb:118:in `find_command’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/command_manager.rb:104:in `process_args’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/command_manager.rb:75:in `run’
from /usr/local/ruby/lib/ruby/1.9.1/rubygems/gem_runner.rb:39:in `run’
from ./gem:24:in `<main>’
Rails のインストール
オプションの dependencies はrails の依存関係もインストールします。
# gem install rails –include-dependencies
インストールの確認
下記のように表示されたら完了になります。
# rails -v
Rails 2.3.3
mysql-ruby インストール
通常、下記のようにインストールするのですが、2009年07月27日現在
依存関係がmysql-rubyの最新版を取得しなため、下記のようなエラーになります。
# /usr/local/ruby/bin/gem install mysql — –with-mysql-config=/usr/local/mys
ql/bin/mysql_config
Building native extensions. This could take a while…
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/local/ruby/bin/ruby extconf.rb –with-mysql-config=/usr/local/mysql/bin/mysql_config
checking for mysql_ssl_set()… yes
checking for mysql.h… yes
creating Makefile
make
gcc -I. -I/usr/local/ruby/include/ruby-1.9.1/x86_64-linux -I/usr/local/ruby/include/ruby-1.9.1/ruby/backward -I/usr/local/ruby/include/ruby-1.9.1 -I. -DHAVE_MYSQL_SSL_SET -DHAVE_MYSQL_H -I/usr/local/mysql/include/mysql -fPIC -O2 -g -Wall -Wno-parentheses -o mysql.o -c mysql.c
mysql.c:6:21: error: version.h: そのようなファイルやディレクトリはありません
mysql.c: In function ‘make_field_obj’:
mysql.c:185: 警告: unused variable ‘hash’
mysql.c: In function ‘escape_string’:
mysql.c:267: error: ‘struct RString’ has no member named ‘len’
mysql.c:268: error: ‘struct RString’ has no member named ‘len’
mysql.c:268: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:268: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:268: error: ‘struct RString’ has no member named ‘len’
mysql.c: In function ‘real_escape_string’:
mysql.c:401: error: ‘struct RString’ has no member named ‘len’
mysql.c:402: error: ‘struct RString’ has no member named ‘len’
mysql.c:402: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:402: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:402: error: ‘struct RString’ has no member named ‘len’
mysql.c: In function ‘query’:
mysql.c:710: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:710: error: ‘struct RString’ has no member named ‘len’
mysql.c:729: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:729: error: ‘struct RString’ has no member named ‘len’
mysql.c: In function ‘query_with_result_set’:
mysql.c:882: 警告: implicit declaration of function ‘TypeError’
mysql.c: In function ‘fetch_field_direct’:
mysql.c:960: 警告: implicit declaration of function ‘Raise’
mysql.c: In function ‘fetch_hash2’:
mysql.c:1032: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:1033: error: ‘struct RString’ has no member named ‘ptr’
mysql.c: In function ‘field_inspect’:
mysql.c:1157: error: ‘struct RString’ has no member named ‘len’
mysql.c:1158: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:1158: error: ‘struct RString’ has no member named ‘ptr’
mysql.c: In function ‘stmt_bind_result’:
mysql.c:1284: error: ‘struct RString’ has no member named ‘ptr’
mysql.c: In function ‘stmt_execute’:
mysql.c:1346: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:1347: error: ‘struct RString’ has no member named ‘len’
mysql.c:1348: error: ‘struct RString’ has no member named ‘len’
mysql.c:1359: error: ‘struct RArray’ has no member named ‘ptr’
mysql.c:1360: error: ‘struct RArray’ has no member named ‘ptr’
mysql.c:1361: error: ‘struct RArray’ has no member named ‘ptr’
mysql.c:1362: error: ‘struct RArray’ has no member named ‘ptr’
mysql.c:1363: error: ‘struct RArray’ has no member named ‘ptr’
mysql.c:1364: error: ‘struct RArray’ has no member named ‘ptr’
mysql.c:1316: 警告: unused variable ‘false’
mysql.c: In function ‘stmt_prepare’:
mysql.c:1584: error: ‘struct RString’ has no member named ‘ptr’
mysql.c:1584: error: ‘struct RString’ has no member named ‘len’
make: *** [mysql.o] エラー 1
Gem files will remain installed in /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql-2.7 for inspection.
Results logged to /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql-2.7/gem_make.out
mysql-ruby 最新版ソースのインストール
よって最新版をソースからインストールします。
http://rubyforge.org/frs/?group_id=4550
ソースの取得
# http://rubyforge.org/frs/download.php/51087/mysql-ruby-2.8.1.tar.gz
コンパイルとインストール
# cd mysql-ruby-2.8.1
# ruby extconf.rb extconf.rb –with-mysql-config=/usr/local/mysql/bin/mysql_config
# make
# make install
以上でインストールは完了になります。次回はプロジェクトを作成します。
以上