我刚安装了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。


当前回答

我通过在.bash_profile中添加这一行来修复它:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

其他回答

我有同样的问题,我这样做在我的.bash_profile和它工作。 源”$ HOME / .rvm /脚本/区”。

您没有使用登录shell。

这里描述了启用登录标志的过程,也可以在这里找到登录shell的一些详细信息。

因此,您需要检查Gnome终端设置中的“作为登录shell运行”选项。设置标志后,需要打开新的终端。

有时需要将命令设置为/bin/bash——login。


对于远程连接,重要的是要理解运行交互式ssh会话和执行单个命令之间的区别。

当运行ssh服务器,然后与服务器交互工作时,默认情况下,您正在使用登录shell,这一切都很好,但对于ssh服务器“命令”,您不使用登录shell,它将被要求与ssh服务器“bash -lc”命令“”一起运行。

任何远程调用都可能存在与使用ssh执行单个命令相同的问题。

我不干净的方式改变红宝石版本是

RVM别名创建默认ruby-2.2.3 && source ~/Bashrc && RVM列表

它可以工作,因为我有行波纹在我的~/。Bashrc,但奇怪的是它并没有自动完成这项工作。

[- " / usr / local / rvm / bin / rvm] &&源码”/ usr / local / rvm / bin / rvm”

我尝试连接。登录到docker容器

docker run -it imagename `/bin/bash --login`

但在这种情况下,容器在后台保持打开状态,我不能输入命令。

我尝试了zhc和终端选项“打开/bin/bash—登录”

您需要运行以下命令

$ source ~/.rvm/scripts/rvm

然后运行这个

$ type rvm | head -n 1

如果你得到

rvm is a function

问题解决了。

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

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

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

source ~/.bash_profile

... 应该能行…,可能需要登出并重新登录。

如何从命令行重新加载.bash_profile ?