我在Mac OS X 10.9.1上使用鱼壳2.10。我想使用我使用RVM安装的Ruby作为终端中的默认设置,但我似乎无法使其工作。
我已经尝试了rvm use 2.1.0 --default
但是在打开一个新终端后,我仍然会得到以下结果:
> which ruby
/usr/bin/ruby
运行rvm
命令会导致加载ruby:
> which ruby
/usr/bin/ruby
> rvm
[...]
> which ruby
/Users/alex/.rvm/rubies/ruby-2.1.0/bin/ruby
但每次打开新终端时都必须这样做很烦人。
答案 0 :(得分:18)
首先从rvm.io安装rvm fish函数 只需在任何shell中运行它:
curl -L --create-dirs -o ~/.config/fish/functions/rvm.fish https://raw.github.com/lunks/fish-nuggets/master/functions/rvm.fish
您现在应该可以在fish中使用rvm命令。 (重新开放终端)
至于现在,上述功能对我来说完全不起作用:)
无论如何,如果你将以下内容添加到配置文件中,你应该没问题:
echo 'rvm default' >> ~/.config/fish/config.fish
您现在应该能够使用与ruby相关的二进制文件和宝石。 (重新开放终端)
答案 1 :(得分:5)
安装oh-my-fish非常有用的工具,有rvm插件,还有很多很酷。
管理鱼壳配置的框架
答案 2 :(得分:5)
我认为为了更容易,您可以通过rvm添加fisher插件到fish shell。
对于安装渔民:
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher
之后,为Fish Shell安装rvm插件:
fisher add jorgebucaran/fish-nvm
之后,rvm运行完美。
(先前为fisher rvm
)
答案 3 :(得分:0)
以下这篇文章来自fish google小组论坛。 感谢eggegg以下解决方案:
对fish shell的原始支持需要将bash脚本转换为fish脚本。 如上所述:https://rvm.io/integration/fish。
我发现有一个更简单的解决方案:让bash执行bash脚本,我们只需要环境变量的结果。
代码: https://gist.github.com/eggegg/6077153
只需将第一个插入您自己的config.fish中,然后将rvm.fish复制到〜/ .config / fish / functions /即可。
答案 4 :(得分: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/ruby-2.2.0@global/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/ruby-2.2.0@global/bin /Users/grant/.rvm/rubies/ruby-2.2.0/bin
要在每次加载鱼时都运行此命令,请将以上命令添加到〜/ .config / fish / config.fish。或者,您可以将rvm命令添加到fish配置中并让它为您加载。
希望这有帮助! -grant
答案 5 :(得分:0)
在你的config.fish中加载rvm插件并静默调用它:
. ~/oh-my-fish/plugins/rvm/rvm
rvm >/dev/null
如果你正在使用bob-the-fish主题,你的提示中会有一个ruby版本,如下所示:
ruby-2.1.2 > ~/d/web > master >
如果您愿意,可以通过删除bobthefish / fish_prompt.fish中的以下行来抑制:
__bobthefish_prompt_rubies