RVMを使用してRubyバージョンを変更するにはどうすればよいですか?


111

現在のRubyバージョンを切り替えることができません。

  ~  rvm list

rvm rubies

   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.3-p0 [ x86_64 ]

  ~  rvm use ruby-1.9.3-p0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

rvmを正しくインストールしましたか?どのOSを使用していますか?
11

2
の出力をrvm info質問に追加してください。
ティンマン

Ubuntu 11.10でapt-getを使用してrvmをインストールすることで同様の問題があり、それを削除して再インストールする必要がありました$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
lesce

4
シェルの起動スクリプトにRVMロード機能がありますか?[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"使用するコードです。パスにRVMがインストールされているが、起動スクリプトにインストールされていない場合、RVM is not a functionエラーが発生する可能性があります。
ミシェルティリー

このソリューションは私にとって有効
gotqn

回答:


122

修正しました。追加する必要がありました:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM 

.zshrc


57

これも私に起こりました。私が持っていた:

export PATH=~/.rvm/bin:$PATH

私の.bashrcに追加されました。

私がしなければならなかったすべては別のものを加えることでした

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

同じファイルにそれが働いた!もちろん、その後は端末を再起動する必要があります。


1
〜/ .bash_profileにこれと同じ行([[-s "$ HOME / ...)があり、新しいターミナルを開いたときに"実行 "されないようです...しかし、行を追加したとき〜/ .bashrcのPATH行の下で機能しました-つまり、rvm use 1.9.3と入力すると、最初にsource〜/ .bash_profileと入力しなくても、すぐにrvmをコマンドとして認識できます-i ' 。メートルではないLinuxの人は、この混乱ので、私は、しかし、私は、これはそれが働いて得たうれしい多分誰かが私の混乱を明確にすることができます。
TimDog

それは素晴らしいです、私はこの行を〜/ .bashrcに置くだけで動作します。でも理由もわかりません。
Jack Ma

うん、その働き。しかし、マシンを再起動するたびに、上記のコマンドを実行する必要があります。コマンドを提供しないと、rvmは関数ではないと表示されます。
アプルバマヤンク2012年

11

シェルはRVM関数を認識していません。インストールすると、これをどのように処理するかが表示されます。またはインストールに進みます、RVMサイトのページに「2。RVMを関数としてシェルセッションにロードする」というタイトルのセクションを確認してください。

これを1回実行して、rvmをロードする行を〜/ .bash_profileに追加します。

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

または手動で追加します。(一部のシステムでは、それを他の場所に配置する必要があることに注意してください。たとえば、私のシステム、Mac OSX Lionでは、〜/ .profileに配置します)


私はOS X Snow Leopardを使用しています。.profileにその行を入れるとうまくいきました。
Heldraug、2012年

9

(Kubuntu 11.10) ~/.bash_profileと呼ばれるようになりました~/.profile

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.profile
source ~/.profile
rvm info # And now the fields display

6

rubyのデフォルトバージョンを変更するには:

Ubuntu 11.10では
、GNOME端末の設定を変更してください。

ターミナルに移動し、次の手順に従います。

1.  Edit > Profile Preferences
2.  Open Title and Command Tab               
3.  Check Run Command as a login Shell 
4.  Restart terminal

端末で次のコマンドを実行します。

rvm --default use ruby_Version

5

すべてのRVM機能を.bash_profileに追加するには、次のコマンドを使用する必要があります。

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

その後、現在のシェルを再ロードするか、新しいターミナルセッションを開いて次のコマンドを入力し、.bash_profileを再ロードする必要があります。

source .bash_profile

4

上記のソリューションは、現在のユーザーにRVMがインストールされている場合にのみ機能します。より一般的なソリューションでは、RVMパス変数を使用します。

# The following code loads RVM as user or system install:
[[ -s "$rvm_path/scripts/rvm" ]] && . "$rvm_path/scripts/rvm"

rvm_path=/home/myuser/.rvm . /home/myuser/.rvm/scripts/rvm
ホセアルバン


3

Ubuntu 12.04のクリーンインストールで、同じ問題が発生しました。RVMインストーラーは、元の問題を回避するために必要なコードを〜/ .bash_loginというファイルに作成または追加します。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

ただし、これは呼び出されないようです。〜/ .bashrcに追加すると、問題が解決しました。


1

RVMのインストール、こちらを参照http://octopress.org/docs/setup/rvm/


RVMのインストールには、信頼できないソースを使用しないでください。RVMのインストールページでは、具体的言う:「任意の外部のチュートリアルは、彼らが仕事をしたりしませチュートリアル、インストールプロセスをデバッグ工数の偉大な、しかし、我々が過ごしてきた膨大な量があり、インストールプロセス(複数可)を使用してくださいかどうかサポートされていないことことに注意してくださいから。これはサポートされている唯一のインストールタイプと方法であるため、このサイトのみ。」
ティンマン

1

Ubuntuの場合、〜/ .bashrcのエントリは次のとおりでした。

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && ."$HOME/.rvm/scripts/rvm" # BAD

の代わりに:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # WORKING

間にスペースがないことに注意してください。および「$ HOME。

また、これが問題である場合は、端末を起動したときにエラーが発生していることにも注意してください。


0

/etc/profile.d/rvm.shを実行するRVMをグローバルにインストールしました。ただし、そのスクリプトでは、BASH_VERSIONまたはZSH_VERSIONを設定する必要があります。「sh」を使用するcrontabから実行していました。

/ bin / bashを使用して/etc/profile.d/rvm.shをソースとするラッパースクリプトを作成しました。


0

ログインシェルを許可するには、ターミナルエミュレータの設定を変更する必要があります。/bin/bash --loginコマンドとして使用する必要がある場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.