2011-04-09 30 views
28

現在使用Ruby和Rails一段時間後,我想嘗試RVM。一切工作正常,除了一件事:爲什麼在MacOSX上「RVM --default」不適用於我?

在新開的終端ruby指向系統的紅寶石,儘管事實上,我用rvm --default命令。

[email protected] ~ $ ruby -v 
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10] 
[email protected] ~ $ which ruby 
/opt/local/bin/ruby 
[email protected] ~ $ rvm list 
    ruby-1.8.7-p334 [ ] 
=> ruby-1.9.2-p180 [ ] 

一切都很好,我叫rvm reload

[email protected] ~ $ rvm reload 
[email protected] ~ $ ruby -v 
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.1] 
[email protected] ~ $ which ruby 
/Users/user/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 

後,我建立了我的.bash_profile如文檔中描述:

... 
[[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm" 

感謝您的幫助。非常感謝。

我使用的是Mac OS X雪豹(10.6.6)

更新:

--default似乎並沒有爲我工作...

[email protected] ~ $ rvm use 1.9.2 --default 
Using /Users/user/.rvm/gems/ruby-1.9.2-p180 
[email protected] ~ $ rvm default 
[email protected] ~ $ 
+0

,你必須指定版本是默認也。 'rvm use 1.9.2 --default'或'rvm use 1.8.7 --default'。然後,切換紅寶石會執行一個普通的,無需使用的「使用」,「rvm 1.8.7」或「rvm 1.9.2」,甚至是「rvm default」來返回默認值。您可以使用'rvm use system'切換回系統Ruby。 – 2011-04-09 15:19:06

+0

另外,一定要定期運行'rvm get head'來更新它,然後'rvm reload'加載更改。 RVM總是快速更新,但最近幾周已經做出了一些大的更新跳轉。 – 2011-04-09 15:24:21

回答

41

我有同樣的問題一次。原來rvm腳本被加載了兩次,這打破了一些東西。

檢查所有打開shell時加載的文件,例如/etc/profile,~/.bashrc,~/.bash_profile等,並確保它們不會加載RVM兩次。

也許把echo "Going to load RVM"[[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm"前將~/.bash_profile,看它是否在這裏發生與否

+1

+1我看到初始化腳本也顯示了兩次,一次在.bashrc中,一次在.bash_profile中,即使我確信我只是將它添加到.bashrc。我指責Linux精靈試圖在深夜提供幫助是一個謎。無論如何,你是正確的,RVM的初始化腳本應該只在.bashrc中。 – 2011-04-09 15:27:13

+0

聽起來很有希望 – DiegoFrings 2011-04-10 15:24:25

+2

實際上, etc/profile「裏面充滿了RVM的東西,可能來自於RVM的一個失敗的根安裝(後來我切換到as-user安裝),我從'/ etc/profile'中刪除了所有與RVM相關的東西,按預期工作 – DiegoFrings 2011-04-10 15:39:25

6

做你運行命令 rvm use --default 1.9.2?

這對我在openSUSE上工作,雖然我不知道雪豹。

+1

+1。這是必要的,否則RVM有NOooo的想法是什麼版本的Ruby應該是默認的。而且,在所有RVM工作的操作系統(Mac OS,Linux發行版)中,語法是一致的,儘管我使用'rvm use 1.9.2 --default',因爲我的正常「use」命令是「rvm use 1.9.2」或'rvm使用1.8.7'。 – 2011-04-09 15:15:43

+0

是的,我做到了。但是這並沒有幫助:-( – DiegoFrings 2011-04-10 15:20:42

+0

當你運行'rvm list default'時會發生什麼? – 2011-04-10 15:38:03

0

你需要把路徑RVM在路徑的前面

$ export PATH=/path/to/rvm-dir:$PATH 
+0

不,如果RVM已經正確設置,它會爲他做這件事,我們不需要,請參閱@ choise的答案。 – 2011-04-09 15:12:29

0

什麼呢type rvm | head -1打印出來?

在我的.bash_profile

(最新OSX)我不得不把

# Ruby Version Manager 
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm" 

我也創造了寶石和設置好的設置爲默認選項:

rvm reload 
rvm install 1.9.2 
rvm --create use [email protected] 
rvm --default use [email protected] 
+0

rvm是一個函數...沒有問題 – DiegoFrings 2011-04-10 15:25:11

0

相同PB。線在那裏兩次,並把它弄壞了....無論出於何種原因... 去除外部線路解決它

16

移動這樣的:在〜/ .bash_profile中解決了這個問題底部

[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm" 

爲了我。

+0

因爲我使用zsh,所以我將它從.bash_profile中移出並放入.zshrc的底部。 – gorelative 2013-07-18 18:19:04

5

我有同樣的問題,因爲我使用Oh-My-Zsh跟蹤是否有重複調用RVM有點困難。

我通過將調用RVM從位於\ oh-my-zsh內的\ custom文件夾中的單獨rvm.zsh文件移動到我的主.zshrc文件的最後來修復它。

看起來RVM對被稱爲不在zsh初始化序列結束時非常敏感。

+0

是啊,oh-my-zsh正在與我的rvm搞砸:) – 2012-05-03 05:33:21

+1

同樣的問題在這裏。我只是將rvm行移到.zshrc的底部。 – jspooner 2013-01-11 19:54:31

+1

賓果! RVM把它放在我的.zprofile中導致了問題。 – 2013-03-23 01:15:38

0

出於某種原因,我在我的$ HOME/bin目錄中有ruby,gem,rake,...文件存根。下面的例子。因此我的rvm - 默認使用1.9.3沒有按預期工作。刪除$ HOME/bin目錄解決了這個問題。

cat bin/ruby 
#!/usr/bin/env bash 

if [[ -s "/usr/local/rvm/environments/ruby-1.9.2-p290" ]] 
then 
    source "/usr/local/rvm/environments/ruby-1.9.2-p290" 
    exec ruby "[email protected]" 
else 
    echo "ERROR: Missing RVM environment file: '/usr/local/rvm/environments/ruby-1.9.2-p290'" >&2 
    exit 1 
fi 
6

我有同樣的問題。 移動線: [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

從MacPorts的行之後: export PATH=/opt/local/bin:/opt/local/sbin:$PATH

解決了這個問題對我來說。

+1

如果可以的話,我會給你兩票。 – boutta 2012-08-31 13:22:02

+0

同樣在這裏!非常感謝 – 2013-02-10 19:02:34

0

試試這個設置默認紅寶石新的外殼:

sudo rvm alias create default 1.9.2 
5

相反的:

rvm use 1.9.2 --default 

我使用的完整版:

rvm use ruby-1.9.2-p290 --default 

在zsh的工作對我來說。

+0

輸入'rvm list'來列出已安裝的版本。 – JackHasaKeyboard 2017-12-04 23:04:55

2

我在Mac OS X 10.7上遇到了同樣的問題。

後來我發現我的帳戶沒有添加到「rvm」組中。

當我將自己添加到rvm組後,我可以設置rvm的默認值。

+0

謝謝,這也爲我解決了! – aaandre 2012-10-17 05:52:55

+0

這對我有用。 Mac OS X 10.8.4 – Mitch 2013-08-27 15:21:48

0

Mac OS上的一些真正的新手使用JewelryBox和首節你會發現

"show default ruby in system menu bar" 

檢查這讓你紅寶石之間進行切換。

您可以通過「system @ *」選項選擇預先安裝的rubygems(如果有rubygems)。

0

我遵循上述建議 - 檢查了我的.bash_profile(這是罰款),也注意到,在Ubuntu,你可能需要前往然而我還是有這個問題的https://rvm.io/support/faq/#shell_login

的建議,直到我意識到項目我試圖運行一個.rvmrc文件,它指定了我沒有安裝的ruby版本。當我糾正了這個 - 我停止了這個問題(所以其實這不是說使用默認沒有工作,但這個項目覆蓋它)

1

我的問題是,通過改變解析:

PATH=/usr/local/binPATH=$PATH:/usr/local/bin.zshrc

source @github RVM issue queue

顯然,你需要確保RVM正確首先,安裝並運行type rvm | head -1檢查@choise建議。 rvm use --default 1.9.3-p362現在可以正常工作。

+0

謝謝!保存我的屁股 – 2016-01-16 19:55:25

7

一個可能的修復程序ZSH用戶:

不知怎的,我有:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 
兩個.zprofile和.zshrc

從.zprofile刪除行解決了問題。 (雖然你應該可以從任一個中刪除,只要它只出現一次)

0

我不得不從〜/ .bash_profile中刪除[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"行,並且必須將它移動到〜/ .bashrc的最底部。

這解決了OS X 10.10.1上的問題。

3

完整性檢查 - 確保您正在使用的項目具有與嘗試在.ruby-version文件中設置爲默認值的相同的ruby版本。

它發生在我身上,我能不明白,爲什麼rvm作爲@Gwilnm柯伊伯的回答說,不使用我的默認

相關問題