rvmを使用してFedora 13で1.8.7にRubyをアップグレードしようとしています。私は、Rubyの世界に少し新しいんだけど、これは私がこれまで何をやったかです:Rubyの1.8.6はまだデフォルトのバージョンである以外Ruby on Fedoraをアップグレードするには
~$ yum -y install rubygem-rvm
...
~$ rvm-install
...
~$ rvm install 1.8.7
/usr/local/rvm/rubies/ruby-1.8.7-p302, this may take a while depending on your cpu(s)...
ruby-1.8.7-p302 - #fetching
ruby-1.8.7-p302 - #extracted to /usr/local/rvm/src/ruby-1.8.7-p302 (already extracted)
ruby-1.8.7-p302 - #configuring
ruby-1.8.7-p302 - #compiling
ruby-1.8.7-p302 - #installing
ruby-1.8.7-p302 - #rubygems installing to ruby-1.8.7-p302
ruby-1.8.7-p302 - adjusting #shebangs for (gem).
ruby-1.8.7-p302 - #importing default gemsets (/usr/local/rvm/gemsets/)
Install of ruby-1.8.7-p302 - #complete
~$ rvm use 1.8.7 --default
Using /usr/local/rvm/gems/ruby-1.8.7-p302
~$ ruby -v
ruby 1.8.6 (2010-09-02 patchlevel 420) [x86_64-linux]
~$ rvm use 1.8.7
Using /usr/local/rvm/gems/ruby-1.8.7-p302
~$ ruby -v
ruby 1.8.6 (2010-09-02 patchlevel 420) [x86_64-linux]
すべてが、問題なく動作しているようです。
デフォルトのRubyバージョンを1.8.7に切り替えるために他にどのような手順がありますか?
編集:rvmには実際には直感的でない動作があるようです。特定のパッケージをインストールしないと、rvmを使用して特定のRubyバージョンをインストールすると、rvmはそのRubyバージョンをビルドまたはインストールしないだけでなく、Rubyをビルドしていないとも言わないでしょう。 /usr/local/rvm/gems/ruby-1.8.7-p302...にはbinディレクトリがなかったことに気付きました。これは異常にRubyがバイナリであることを示しています。だから私は二重のドキュメントをチェックし、インストールするには、Fedoraのパッケージのリストを見つけました:それらの後
yum install -y bash curl git
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel
yum install -y iconv-devel
がインストールされた、rvm install 1.8.7
を実行し、正しくRubyのバイナリを構築しました。奇妙なことに、デフォルトのRubyのバージョンを更新していない、まだrvm use 1.8.7 --default
を実行しているので、私はやった:
cp /usr/bin/ruby /usr/bin/ruby-1.8.6
rm -f /usr/bin/ruby
ln -s /usr/local/rvm/rubies/ruby-1.8.7-p302/bin/ruby /usr/bin/ruby
rvmをインストールした後に新しいシェルを起動しますか? – sunkencity
@sunkencity、yes、no effect – Cerin
あなたの質問に 'rvm info'の出力を追加してください。デフォルトでは、RVMはRubyを '〜/ .rvm'にインストールするので、システム全体のインストールを行っているようです。それはあなたの意図ですか?また、 'rvm get head'を実行することで、RVMのバージョンが最新であることを確認する必要があります。パッケージのロードに関しては、RVMとyumまたはapt-getは直感的なものではありません。私はyrのやり方を知っておいてほしいので、http://rvm.beginrescueend.com/rvm/installの指示に従ってインストールすることをお勧めします。 'rvm requirements'を使って、インストールする必要があるパッケージを知ることができます。 –