Linux(CentOS)へRuby on Railsをインストール

CentOS Linux
この記事は約5分で読めます。

※当ブログではアフィリエイト広告を利用しています。

前回はCentOSへRubyをインストールしました。

前回の記事はこちら⇒Linux(CentOS)へRubyをソースコードからインストール

続いて、「Ruby on Rails」をインストールします。

なお、今回のバージョンは以下です。

  • CentOS-6.4-i386
  • Ruby 2.0.0-p195
  • gem 2.0.3
  • Rails 3.2.13

gemのアップデート

gem」のアップデートコマンドを叩くと早速つまづく。

#gemのアップデート(NoMethodError:openssl)
$ gem update --system
ERROR:  Loading command: update (LoadError)
        cannot load such file -- openssl
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

どうやら「openssl」を、Rubyソースコードから別途インストールする必要があるよう。

また、「openssl-devel」とやらも必要みたい。

#Rubyソースコードディレクトリの「openssl」へ移動
$ cd /home/[ユーザー]/ruby-2.0.0-p195/ext/openssl/

#Rubyファイル実行(Makefileが作成されない?)
$ ruby extconf.rb
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for assert.h... yes
checking for openssl/ssl.h... no

#makeコマンドでコンパイル(Makefileが作成されていないのでコンパイル対象なしとなる)
$ make
make: `all' に対して行うべき事はありません.

#openssl-develパッケージのインストール
$ yum install openssl-devel

#再びRubyファイル実行(Makefileが作成された)
$ ruby extconf.rb
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for assert.h... yes
checking for openssl/ssl.h... yes
checking for openssl/conf_api.h... yes
checking for SSL_library_init() in openssl/ssl.h with -Werror=deprecated-declarations... yes
…
(省略)
…
creating extconf.h
creating Makefile

#makeコマンドでコンパイル
$ make

#makeコマンドでインストール
$ make install

気を取り直して、再びgemのアップデート。

そうすると、今度は「zlib」とやらをRubyソースコードから別途インストールする必要があるみたい。

#再びgemのアップデート(NoMethodError:zlib)
$ gem update --system
ERROR: Loading command: update (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass

#Rubyソースコードディレクトリの「zlib」へ移動
$ cd /home/[ユーザー]/ruby-2.0.0-p195/ext/zlib

#Rubyファイル実行
$ ruby extconf.rb
checking for deflateReset() in -lz... yes
checking for zlib.h... yes
checking for crc32_combine() in zlib.h... yes
checking for adler32_combine() in zlib.h... yes
checking for z_crc_t in zlib.h... no
creating Makefile

#makeコマンドでコンパイル
$ make
compiling zlib.c
linking shared-object zlib.so

#makeコマンドでインストール
$ make install
/usr/bin/install -c -m 0755 zlib.so /usr/local/lib/ruby/site_ruby/2.0.0/i686-linux
installing default zlib libraries

三度目の正直で、再びgemのアップデート!

#再びgemのアップデート(正常に終了)
$ gem update --system

正常終了!お疲れでした!

Railsのインストール

rdoc」はすでにインストール済み(Rubyインストールしたら入ってた)だったので、以下のコマンドでRailsをインストールする。

#Railsのインストール
$ gem install rails

#Railsのバージョン確認
$ rails -v
Rails 3.2.13

以上です。

参考サイト

require ‘twitter’のエラー(opensslがロードできない)と言われる – Ruby_log

CentOS5.7にRubyを入れる – shinyaの日記

コメント

  1. […] りでお目当ての情報は見つからず。 エラーメッセージで検索してやっと下記ブログさんを発見し、対処法が見つかりました。 俺の開発研究所さんの記事を参考にさせていただきました。 […]

    • えふめん より:

      お役に立てて良かったです。
      これからもどうぞ参考にしてください。

  2. Alex Long より:

    Thank You very much. I had realty a hard time to solve that !

タイトルとURLをコピーしました