rubygems が ruby​​ 1.9.1 を使用するように指定するにはどうすればいいですか?

rubygems が ruby​​ 1.9.1 を使用するように指定するにはどうすればいいですか?

[Debian スクイーズ]

これに対する答えを見つけるのは驚くほど困難でした。

ruby v1.9.1 がインストールされていました (/usr/bin/ruby1.9.1) が、その後 ruby​​gems をインストールした後、ruby1.8 (/usr/bin/ruby1.8) もインストールされ、gem で実行するすべてのコマンド (gem install ...、rails ...) はすべて ruby​​ v1.8 を使用しています。

~/proj/rails/demo# bundle show sqlite3
/var/lib/gems/1.8/gems/sqlite3-1.3.4

インストールした ruby​​gems と rails で v1.8 ではなく v1.9.1 を使用するにはどうすればよいでしょうか?

(補足: 「gem install rvm」を使用して rvm をインストールしましたが、その後 rvm を実行できなくなりました。これはどういうことでしょうか?)

答え1

/etc/alternatives を更新しましたか? Ubuntu 側では、「sudo update-alternatives」を実行して、「/usr/bin/ruby」、「/usr/bin/gem」などのシンボリックリンクが実際に指しているものをシステムに伝えます。Debian に「update-alternatives」があるかどうかはわかりませんが、必要なバージョンを指す同様の方法があるはずです。

うーん。これは少し古いですが、おそらく適用できるでしょう。

http://kangaroobox.blogspot.com/2009/12/switching-ruby-platforms-on-debian.html

答え2

Debian では、rubygemsパッケージは に依存するメタパッケージにすぎずrubygems1.8、同様にrubyは に依存するだけですruby1.8。したがって、1.9 用の ruby​​gems が必要な場合は、 をインストールする必要がありますrubygems1.9。コマンド (、または などgemの他のすべての実行可能ファイルと同様に) はruby、などの優先バージョンを指すシンボリックリンクにすぎません。これらを直接使用することも、 を使用して優先バージョンを設定することもできます。irbrigem1.8update-alternatives

RVM に関しては、確かに gem は存在しますが、そこには RVM 用のヘルパーがいくつか含まれているだけです。RVM では、事前にインストールされた Ruby は必要ありません。実際、システムに Ruby をインストールする唯一の方法として使用されることがよくあります。

RVMを実際にインストールするには、

bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )

記載の通りRVM のインストール ガイドさまざまなインストール バリアントの詳細については、こちらを参照してください。

答え3

Ruby のバージョンを簡単に切り替えることができる RVM (Ruby Version Manager) を使用する必要があります。

Rubyバージョン1.9.1に移行するには、

rvn use 1.9.1

このバージョンをデフォルトにするには、

rvn use 1.9.1 --default

rvm の基礎について学ぶ必要がある場合は、このチュートリアルに従ってください。このチュートリアルでは、RVM の使用方法についてさらに詳しく説明しています。

http://beginrescueend.com/rvm/basics/

関連情報