centOS6.4にrail4をいれる

redmineを使いたかったのでrail4を入れました。

思ったよりエラーでインストールに時間がかかったのでメモです。

 

インストールが遅い

1時間たってもインストールが終わらなかったので以下の対応をしました。

dns解決で遅くなってる?
sudo vim  /etc/resolv.conf
options single-request-reopen
sudo /sbin/service network restart

参考

rubygemをアップデート

sudo gem update --system
sudo gem install rubygems-update
sudo update_rubygems

エラー1

$ sudo gem install rails
Fetching: atomic-1.1.15.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
        ERROR: Failed to build gem native extension.
 
    /usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h
 
extconf failed, exit code 1
 
Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/atomic-1.1.15 for inspection.
Results logged to /usr/lib64/ruby/gems/1.8/extensions/x86_64-linux/1.8/atomic-1.1.15/gem_make.out
ruby-develを入れるといいらしい
sudo yum install ruby-devel

エラー2

$ sudo gem install rails
Building native extensions.  This could take a while...
Successfully installed atomic-1.1.15
Fetching: thread_safe-0.2.0.gem (100%)
Successfully installed thread_safe-0.2.0
Fetching: minitest-4.7.5.gem (100%)
Successfully installed minitest-4.7.5
Fetching: tzinfo-0.3.39.gem (100%)
Successfully installed tzinfo-0.3.39
Fetching: multi_json-1.9.0.gem (100%)
Successfully installed multi_json-1.9.0
Fetching: i18n-0.6.9.gem (100%)
Successfully installed i18n-0.6.9
Fetching: activesupport-4.0.4.gem (100%)
ERRORError installing rails:
        activesupport requires Ruby version >= 1.9.3.

ruby1.9.3じゃないとだめみたいなので、ソースコードから入れなおす

$ sudo yum remove ruby ruby-devel
$ tar zxvf ruby-1.9.3-p545.tar.gz
$ cd ruby-1.9.3-p545
$ ./configure
$ make 
$ sudo make install
rubyを/usr/local/binに入れたのでrootのパスに/usr/local/binを追加
sudo visudo 
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

configureするときにパスしていでもよさそう

エラー3

$ sudo gem instal rails
/usr/local/lib/ruby/1.9.1/yaml.rb:84:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
ERROR:  Loading command: install (LoadError)
        cannot load such file -- zlib
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass
 
ruby1.9.3フォルダにあるzlibを入れる
$ cd ruby-1.9.3-p545/ext/zlib
ruby extconf.rb
$ make 
$ sudo make install
yumのzlibも必要かもしれません。
$ sudo yum install zlib zlib-devel

エラー4 

$ sudo gem install rails
/usr/local/lib/ruby/1.9.1/yaml.rb:84:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
 
ruby1.9.3フォルダにあるpsychを入れる
$ cd ruby-1.9.3-p545/ext/psych
ruby extconf.rb

 別のエラーが発生

$ ruby extconf.rb
checking for yaml.h... no
extconf.rb:8:in `asplode': yaml.h is missing. Please install libyaml. (RuntimeError)
        from extconf.rb:11:in `<main>'
yamlをいれる
sudo yum install libyaml-devel
$ cd ruby-1.9.3-p545/ext/psych
ruby extconf.rb
$ make 
$ sudo make install
今度はOK

エラー5

[kashifuji@61CentOS64 psych]$ sudo gem install rails
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
opensslを入れる
$ cd ruby-1.9.3-p545/ext/openssl
$ ruby extconf.rb
$ make
$ sudo make install 
yumのopensslも必要かもしれません。
sudo yum install openssl-devel openssl

railのインストール

sudo gem install rails
インストールOK
$ gem list | grep rail
rails (4.0.4)
railties (4.0.4)
sprockets-rails (2.0.1)