【Ruby】Rails インストール Linux

Ruby on Rails 2.3.3 のインストール Linux

本家
http://rubyonrails.org/

はじめに

前回、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

以上でインストールは完了になります。次回はプロジェクトを作成します。

以上

フォローする