2014-01-24 44 views
7

我在Mac OS X 10.9.1上使用魚殼2.10。我想使用我在終端中使用RVM作爲默認安裝的Ruby,但是我似乎無法完成這項工作。如何使魚殼默認使用rvm紅寶石

我試過rvm use 2.1.0 --default但在打開一個新的終端我仍然得到以下幾點:

> which ruby 
/usr/bin/ruby 

運行rvm命令導致要加載的紅寶石:

> which ruby 
/usr/bin/ruby 
> rvm 
[...] 
> which ruby 
/Users/alex/.rvm/rubies/ruby-2.1.0/bin/ruby 

但它很煩人每次我打開一個新的終端時都必須這樣做。

+0

有你安裝了Ruby 2.1.0與RVM? –

+0

是的,我有。儘管在嘗試將其他已安裝的Rubies設置爲默認設置時也會發生同樣的情況。 – Alex

+0

問題:'/ usr/bin/ruby​​ -v',請看'.bash_profile',看到這行:'source「$ HOME/.rvm/scripts/rvm」 –

回答

15

首先從rvm.io 安裝RVM魚的功能就在任何shell中運行此:

curl -L --create-dirs -o ~/.config/fish/functions/rvm.fish https://raw.github.com/lunks/fish-nuggets/master/functions/rvm.fish 

您現在應該能夠在魚使用RVM命令。 (重新打開終端)

至於現在,如果你添加下面的配置文件中的上述功能不工作對我來說完全:)

反正你應該確定:

echo 'rvm default' >> ~/.config/fish/config.fish 

你現在應該能夠使用ruby相關的二進制文件和寶石。 (重新打開終端)

5

安裝oh-my-fish非常有用的工具,有rvm插件和很多很酷的另一個。

框架來管理你的魚貝配置

+0

我已經安裝了這個(並啓用了RVM插件),但我不確定如何讓它默認加載我的RVM Ruby。目前的行爲與我的問題中描述的相同。 – Alex

+0

這個插件提供了ruby環境管理器,我有同樣的問題並且使用這個解決方案。顯然你的配置或路徑變量有問題 –

+0

該項目似乎被放棄。使用漁民代替https://github.com/fisherman/fisherman –

0

這下面爲我工作從魚谷歌羣組論壇。 信用eggegg爲這個解決方案如下:

魚殼的原始支持需要將bash腳本轉換爲魚腳本。 正如它在這裏提到的:https://rvm.io/integration/fish

我發現有一個更簡單的解決方案:讓bash執行bash腳本,我們只需要環境變量的結果。

代碼: https://gist.github.com/eggegg/6077153

只需插入第一個到自己config.fish,然後rvm.fish複製到〜/的.config /魚/功能/會做的把戲。

+1

鼓勵與外部資源的鏈接,但請在鏈接的周圍添加上下文,以便您的同行用戶瞭解它是什麼以及它爲什麼在那裏。如果目標網站無法訪問或永久離線,請始終引用重要鏈接中最相關的部分。 –

0

發生這種情況的原因是,通過RVM安裝的Rubies不會添加到您的路徑中。當你運行任何RVM命令時,它將相對於你使用的ruby版本的路徑添加到$ PATH中。 RVM似乎照顧bash和zsh,但沒有內置的支持來更正點文件的路徑。

下面是一個RVM命令之前我路徑的例子:

/Users/grant/pear/bin /usr/local/sbin/ /Users/grant/.rvm/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/git/bin /usr/local/go/bin 

這裏是我的路徑的例子運行「RVM」之後:

/Users/grant/.rvm/gems/ruby-2.2.0/bin /Users/grant/.rvm/gems/[email protected]/bin /Users/grant/.rvm/rubies/ruby-2.2.0/bin /Users/grant/pear/bin /usr/local/sbin/ /Users/grant/.rvm/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/git/bin /usr/local/go/bin 

底線是,你要根據您默認的版本將.rvm文件添加到路徑中。 This post幫助我弄清楚如何做到這一點。您可以附加其他RVM添加到你的魚的個人資料與路徑:從上面

set -g -x PATH $PATH <paths_to_add> 

例子:

set -g -x PATH $PATH /Users/grant/.rvm/gems/ruby-2.2.0/bin /Users/grant/.rvm/gems/[email protected]/bin /Users/grant/.rvm/rubies/ruby-2.2.0/bin 

在每次加載魚時有這樣的運行,加上上面的命令到〜/。配置/魚/ config.fish。或者,您可以將rvm命令添加到您的魚配置並讓它爲您加載。

希望這會有所幫助! -grant

0

在你config.fish負荷RVM插件,默默地把它叫做:

. ~/oh-my-fish/plugins/rvm/rvm rvm >/dev/null

如果您使用鮑勃的魚主題,你會在你的提示有紅寶石版本像這樣:

ruby-2.1.2 > ~/d/web > master >

哪些可以被抑制,如果你願意,通過去除低於bobthefish/fish_prompt.fish行:

__bobthefish_prompt_rubies

5

我想,使其更容易,你可以通過fisher添加rvm插件魚貝。

對於安裝費舍爾:

curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher 

後,安裝RVM插件魚殼牌:

fisher rvm 

之後,RVM運行完美