我刚安装了RVM,但是不能让它工作。我在我的.profile文件的末尾有这样的一行:

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

我试图运行源.profile和重新启动终端,但仍然,当我运行rvm使用1.9.2时,我得到:

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

我的系统是Ubuntu 11.10。


当前回答

我在一个新的rvm安装中也遇到了这个问题,这里的答案都没有解决它。进入官方rvm站点,在基础部分,他们有这样的命令:

# from http://rvm.io/rvm/basics rvm env——path (rvm 1.9.3)

您应该将1.9.3更改为您真正想要的ruby版本,并且它将使rvm成为一个函数,而不考虑shell类型。

其他回答

最新的RVM (RVM 1.11.6(稳定))在Ubuntu上停止工作(10.10 - 64位-讨厌的小虫子或其他什么)-我一直在得到

“RVM不是一个函数,用RVM use选择红宝石…’是行不通的。”

之前,我得到了消息,但是'rvm 1.9.3-p0@rails321'可以工作。现在,它不起作用了——你根本不能改变gemset。

什么都不工作,直到我发现这个-把它作为/home/your-name/.bashrc的最后一行

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

我也遇到过这个问题。最后我在终端上执行了这行。

source ~/.rvm/scripts/rvm

问题解决了。因为这一行将使RVM实例成为特定时间的函数。

尽管你接受了一个答案,我还是想建议另一种方法。~ /。Bashrc在任何shell被打开之前被加载。在最后加上这一行,你不需要任何login shell的东西

您需要运行以下命令

$ source ~/.rvm/scripts/rvm

然后运行这个

$ type rvm | head -n 1

如果你得到

rvm is a function

问题解决了。

您还需要运行user$ rvm requirements以查看操作系统的依赖项要求

来源:https://rvm.io/rvm/install/

我忘记提到你需要把这个代码到你~/。Bashrc或~/。ZSHRC文件,您将不需要再次编写此代码。

要永久解决这个问题,只需剪切/粘贴以下代码行:

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

来自:~ /。bash_profile文件

: ~ /。bashrc文件(

这样做的原因是每次进入终端时执行.bashrc,每次登录时执行.bash_profile。这就是为什么解决方案/bin/bash—login可以工作,但每次进入终端时都必须这样做。这样你就设置好了,直到你的下一个格式,你会忘记所有这些by than:)