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

时间:2011-12-29 04:16:14

标签: 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.

13 个答案:

答案 0 :(得分:121)

修正了它。我需要补充一下:

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

.zshrc

答案 1 :(得分:57)

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

export PATH=~/.rvm/bin:$PATH

在我的.bashrc中添加。

我所要做的只是添加另一个

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

到同一个文件,它工作了! 当然,之后你必须重新启动你的终端。

答案 2 :(得分:11)

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

运行一次以将加载rvm的行添加到〜/ .bash_profile中:

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

或亲自手动添加。 (请注意,在某些系统上,您需要将它放在其他地方,例如我的系统,Mac OSX Lion,我把它放在〜/ .profile中)

答案 3 :(得分:9)

(Kubuntu 11.10)~/.bash_profile现在称为~/.profile

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

答案 4 :(得分:6)

更改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

答案 5 :(得分:5)

要将所有RVM功能添加到.bash_profile,您应该使用以下命令:

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

之后你应该重新加载当前shell或打开一个新的终端会话并输入以下命令来重新加载.bash_profile:

source .bash_profile

答案 6 :(得分:4)

只有为当前用户安装了RVM,上述解决方案才有效。更通用的解决方案是使用RVM路径变量:

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

答案 7 :(得分:3)

我只需要调用源~/.bash_profile

答案 8 :(得分:3)

在干净安装的Ubuntu 12.04上,我遇到了同样的问题。 RVM安装程序创建或附加一个名为〜/ .bash_login的文件,以避免原始问题:

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

但是这似乎没有被调用。将它添加到〜/ .bashrc为我解决了这个问题。

答案 9 :(得分:1)

安装RVM,请参阅此处http://octopress.org/docs/setup/rvm/

答案 10 :(得分:1)

在我的Ubuntu案例中,〜/ .bashrc中的条目有:

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

而不是:

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

注意缺少的空格。和" $ HOME。

此外,如果这是问题所在,您还应该在启动终端时注意到错误。

答案 11 :(得分:0)

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

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

答案 12 :(得分:0)

  

您需要更改终端模拟器首选项以允许登录   贝壳。有时需要使用/bin/bash --login作为   命令。