2011-12-29 74 views
105

我不能切換當前的Ruby版本:如何使用RVM更改我的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. 
+0

你確定你正確安裝RVM?你有什麼用? – lesce 2011-12-29 04:33:31

+2

的'RVM info'輸出附加到你的問題,請操作系統。 – 2011-12-29 04:34:30

+0

我一個類似的問題在Ubuntu 11.10上使用apt-get安裝rvm,我不得不刪除它並用'$ bash -s stable <<(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm -installer) ' – lesce 2011-12-29 04:41:10

回答

119

固定它。我需要添加:

​​

.zshrc

+5

可能是一個很好的例子,爲什麼你需要RTFM :) – Alexander 2012-07-01 16:43:58

+1

+1在jenkins上使用多個rvm版本。 – Sairam 2012-10-17 09:42:14

11

你的shell不知道的RVM功能。安裝完成後,它會告訴你如何處理這個問題。或者轉至RVM站點上的install頁面,並查看標題爲「2.將RVM加載到shell會話中作爲函數」的部分。

運行一次以將加載rvm的行添加到〜/ .bash_profile中:

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

或手動添加它自己。 (請注意,在某些系統上,您將希望將其放置在其他位置,例如我的系統,Mac OSX Lion,我將它放在〜/ .profile中)

+0

@edwardsharp否。 – 2011-12-29 05:00:37

+0

我使用OS X Snow Leopard,將該行放入我的.profile文件中,爲我做了訣竅。 – Heldraug 2012-01-11 19:55:56

5

要將所有RVM功能添加到.bash_profile中應使用以下命令:

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

之後,你應該重新加載當前殼或打開一個新的終端會話,然後鍵入以下命令來重新加載.bash_profile文件:

source .bash_profile 
55

這發生在我身上了。我有:

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

在我的.bashrc中添加。

我所要做的就是添加另一個

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

到同一個文件和它的工作! 當然,您必須在此之後重新啓動您的終端。

+1

我有同樣的線([[-s「$ HOME/...)在我的〜/ .bash_profile中,當我打開一個新的終端時似乎沒有」採取「...但是當我添加在〜/ .bashrc中的PATH行下面,它確實有效 - 也就是說,我可以鍵入rvm use 1.9.3,它會立即將rvm識別爲命令,而不需要先輸入source〜/ .bash_profile - i我不是Linux的人,所以這讓我困惑,但我很高興這有效果,也許有人可以澄清我的困惑。 – TimDog 2012-02-19 16:53:36

+0

這是偉大的,我只是把這一行在〜/ .bashrc,它的作品。不知道爲什麼 – 2012-03-21 06:28:47

+0

是的它的工作,但每次我重新啓動我的機器,我必須提供以上提到的命令,如果我不提供命令,它說rvm不是一個函數 – 2012-03-22 05:42:53

0

我有一個全局安裝的RVM,它運行/etc/profile.d/rvm.sh。但是,該腳本需要設置BASH_VERSION或ZSH_VERSION。我從crontab運行,它使用「sh」。

我創建了一個使用/ bin/bash來源/etc/profile.d/rvm.sh的包裝腳本。

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 
3

我不得不調用源~/.bash_profile

+0

這解決了我的問題 – 2012-12-06 05:39:23

1

安裝RVM,看到這裏http://octopress.org/docs/setup/rvm/

+0

不要使用非授權源來安裝RVM。[RVM安裝頁面](http:// rvm。io/rvm/install)具體說:「請注意,任何外部教程不支持它們是否工作。教程很棒,但是我們花費了大量的工時來調試安裝過程。請使用安裝過程)僅來自本網站,因爲這是唯一支持的安裝類型和方法。「 – 2014-09-15 20:01:34

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解決了我的問題。

+0

確實,你需要'〜/ .bashrc'中的那個lin謝謝! – Max 2012-10-19 09:48:22

6

要更改默認的紅寶石版本:

在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 
+0

as addition:https://rvm.io/integration/gnome-terminal – pvllnspk 2013-08-13 10:01:01

4

上述解決方案僅適用於當前用戶安裝了RVM的情況。一個更普遍的解決方案是使用RVM路徑變量:

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

'rvm_path =/home/myuser/.rvm。 /家/ myuser的/ .rvm /腳本/ rvm' – 2017-02-16 12:10:14

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

你需要改變你的終端仿真器的喜好允許登錄 外殼。有時需要使用/bin/bash --login作爲 命令。