我在Mac OS X 10.9.1上使用的是Fish Shell 2.10。我想使用一个Ruby,我已经安装了使用RVM作为默认在我的终端,但我似乎不能使这一工作。
我试过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
但是每次打开一个新的终端都要这样做,这很烦人。
6条答案
按热度按时间d7v8vwbk1#
首先从rvm.io安装rvm fish函数
重新打开终端后,你现在应该可以在fish中使用rvm命令了。
运行以下命令将
rvm default
行添加到fish配置文件中。在重新打开终端后,你现在应该可以使用ruby相关的二进制文件和gem了。
kiayqfof2#
我认为为了更简单,你可以通过[fisher] 1向fish shell添加一个[rvm] 2插件。
对于安装fisher:
之后,安装Fish Shell的rvm插件:
或
在那之后,rvm运行得很完美。
(was
fisher rvm
以前)5m1hhzi43#
安装oh-my-fish非常有用的工具,有rvm插件和许多很酷的另一个.
用于管理fishshell配置的框架
pcrecxhr4#
这是因为,通过RVM安装的Rubies不会添加到您的路径中。当您运行任何RVM命令时,它会将与您正在使用的ruby版本相关的路径添加到$PATH中。RVM似乎可以处理bash和zsh,但没有内置的支持来纠正点文件的路径。
下面是一个RVM命令前的路径示例:
下面是运行'rvm'后的路径示例:
底线是,您需要根据默认版本将.rvm文件添加到路径中。This post帮助我弄清楚了如何做到这一点。您可以将RVM添加到您的fish配置文件中的路径附加到:
上面的例子:
要在每次加载fish时运行此命令,请将上述命令添加到~/.config/fish/fish.fish。或者,您可以将rvm命令添加到fish配置中,让它为您加载。
希望这对你有帮助!- 格兰特
oyxsuwqo5#
这下面为我从鱼谷歌组论坛工作。下面是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/就可以了。
d6kp6zgx6#
在您的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