■
[ruby][rvm] ruby+rails環境の再構築
ここを参考に
http://d.hatena.ne.jp/mirakui/20100502/1272849327
古いバージョンのrails環境そのままで新しい環境を追加。
wwwグループでユーザ rails2 を追加し、パスワード変更
# useradd -G www rails2 # passwd rails2
rvm インストール
$ gem install rvm
$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-latest )
.bashrc に以下を追加
if -s /home/rails2/.rvm/scripts/rvm ; then source /home/rails2/.rvm/scripts/rvm ; fi
いったんrails2でログインしなおす
$ rvm install 1.8.7 $ rvm 1.8.7 --default $ rvm gemset create rails2 $ rvm gemset use rails2
インストールするrailsのバージョン確認
$ gem list --remote
$ gem install rails -v 2.2.2 $ rvm use 1.8.7@rails2 --default
ruby script/console でエラー
Loading development environment (Rails 2.2.2) Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page http://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries. /home/rails2/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError) from /home/rails2/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/irb/completion.rb:10
この辺から微妙・・・
rvm package install readline yum install readline-devel rvm remove 1.8.7 rvm install 1.8.7 --with-readline-dir=$rvm_path/usr
openssl が無いよエラー
/home/rails2/.rvm/gems/ruby-1.8.7-p330@rails2/gems/rails-2.2.2/lib/initializer.rb:259:in `require_frameworks':RuntimeError: no such file to load -- openssl /home/rails2/.rvm/gems/ruby-1.8.7-p330@rails2/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:445:in `load_missing_constant':NameError: uninitialized constant AllHelper
cd /home/rails2/.rvm/src/ruby-1.8.7-p330/ext
rvm remove 1.8.7 rvm install 1.8.7 --with-readline-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr rvm use 1.8.7@rails2 --default
# yum install mysql-devel $ gem install mysql $ rvm remove 1.8.7 $ rvm install 1.8.7 --with-readline-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-mysql-config=/usr/bin/mysql_config $ rvm use 1.8.7@rails2 --default