如何使用RVM更改我的Ruby版本?

如何使用RVM更改我的Ruby版本?,ruby,rvm,Ruby,Rvm,我无法切换当前的Ruby版本: ➜ ~ rvm list rvm rubies ruby-1.9.2-p290 [ x86_64 ] ruby-1.9.3-p0 [ x86_64 ] ➜ ~ rvm use ruby-1.9.3-p0 RVM is not a function, selecting rubies with 'rvm use ...' will not work. 修好了。我需要补充: [[ -s "$HOME/.rvm/scripts/rvm" ]

我无法切换当前的Ruby版本:

➜  ~  rvm list

rvm rubies

   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.3-p0 [ x86_64 ]

➜  ~  rvm use ruby-1.9.3-p0

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

修好了。我需要补充:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM 

您的shell不知道RVM功能。安装后,它会告诉您如何处理此问题。或者转到RVM站点上的页面,查看标题为“2.将RVM作为函数加载到shell会话中”的部分

运行此命令一次,将加载rvm的行添加到~/.bash_配置文件中:

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
source .bash_profile

或者自己手动添加。(请注意,在某些系统上,您可能希望将其放在其他位置,例如在我的系统Mac OSX Lion上,我将其放在~/.profile中)

要将所有RVM功能添加到您的.bash_配置文件中,您应该使用以下命令:

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
之后,应重新加载当前shell或打开新的终端会话,并键入以下命令以重新加载。bash_profile:

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
source .bash_profile

这也发生在我身上。我有:

export PATH=~/.rvm/bin:$PATH
添加到我的.bashrc中

我所要做的就是再加一个

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
到同一个文件,它的工作!
当然,之后您必须重新启动终端。

我有一个RVM的全局安装,运行/etc/profile.d/RVM.sh。但是,该脚本需要设置BASH_版本或ZSH_版本。我是从crontab运行的,它使用“sh”

我创建了一个包装器脚本,它使用/bin/bash来源代码/etc/profile.d/rvm.sh.

(Kubuntu 11.10)
~/.bash\u概要文件现在被称为
~/.profile

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.profile
source ~/.profile
rvm info # And now the fields display

我只需调用source
~/.bash_profile

安装RVM,请参见此处

在Ubuntu 12.04的干净安装中,我遇到了相同的问题。RVM安装程序在名为~/.bash_login的文件中创建或附加必要的代码位,以避免原始问题:

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.profile
source ~/.profile
rvm info # And now the fields display
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

然而,这似乎没有被调用。将它添加到~/.bashrc为我解决了这个问题。

要更改ruby的默认版本:

在Ubuntu 11.10中
请更改GNOME终端设置:

转到终端,然后按照以下说明操作:

1.  Edit > Profile Preferences
2.  Open Title and Command Tab               
3.  Check Run Command as a login Shell 
4.  Restart terminal
在终端上运行此命令:

rvm --default use ruby_Version

仅当为当前用户安装RVM时,上述解决方案才有效。更一般的解决方案将使用RVM path变量:

# The following code loads RVM as user or system install:
[[ -s "$rvm_path/scripts/rvm" ]] && . "$rvm_path/scripts/rvm"

在我的Ubuntu中,~/.bashrc中的条目有:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && ."$HOME/.rvm/scripts/rvm" # BAD
而不是:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # WORKING
请注意之间缺少的空格。和“$HOME

此外,如果这是一个问题,当您启动终端时,您还应该注意到顶部的一个错误

您需要更改终端仿真器首选项以允许登录 有时需要使用
/bin/bash--login
作为 指挥部


你确定你正确安装了rvm吗?你使用的是什么操作系统?请在你的问题后面附加
rvm info
的输出。我在Ubuntu 11.10上用apt get安装rvm时遇到了类似的问题,我不得不将其删除,然后用
$bash-s stable<你的shell启动脚本中有rvm加载功能吗?
[-s]$HOME/.rvm/scripts/rvm“]]&&“$HOME/.rvm/scripts/rvm”“
是要使用的代码。如果您在路径中安装了RVM,但在启动脚本中没有安装,您可以得到
RVM不是一个函数
错误。这个解决方案适合我-我正在使用OS X Snow Leopard,将这一行放在我的配置文件中。我的~/.bash_配置文件中也有这一行([-s“$HOME/…),而这似乎不适合我”拿"当我打开一个新的终端时……但是当我在~/.bashrc中的路径行下面添加了一行时,它确实起了作用——这意味着,我可以键入rvm use 1.9.3,它会立即将rvm识别为一个命令,而无需我首先键入source ~/.bash_profile——我不是linux用户,所以这让我感到困惑,但我很高兴它能正常工作。也许有一些有人可以澄清我的困惑。那太好了,我只是把这一行放在~/.bashrc中,它可以工作。但我也不知道为什么。是的,它可以工作。但每次我重新启动我的机器时,我必须给出上述命令。如果我不提供命令,它会说rvm不是一个函数。不要使用非授权来源来安装rvm。特别是s:“请注意,任何外部教程都不受支持,无论它们是否有效。教程很棒,但是我们已经花费了大量的工时调试安装过程。请仅使用此网站上的安装过程,因为这是唯一受支持的安装类型和方法。”
rvm_path=/home/myuser/.rvm./home/myuser/.rvm/scripts/rvm