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

我无法切换当前的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 

.zshrc

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

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

在我的.bashrc中添加。

我只需要添加另一个

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

到相同的文件,它的工作! 当然,之后你必须重启你的terminal。

你的shell不知道RVM的function。 安装完成后,会告诉你如何处理这个问题。 或者转到RVM站点上的安装页面,并查看标题为“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中)

(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 

更改ruby的默认版本:

在Ubuntu 11.10
请更改您的GNOMEterminal设置:

terminal ,然后按照下面的指示:

 1. Edit > Profile Preferences 2. Open Title and Command Tab 3. Check Run Command as a login Shell 4. Restart terminal 

在terminal上运行这个命令:

 rvm --default use ruby_Version 

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

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

之后,您应该重新加载当前的shell或打开一个新的terminal会话,然后input以下命令重新加载.bash_profile:

 source .bash_profile 

只有当前用户安装了RVM时,上述解决scheme才能正常工作。 更一般的解决scheme将使用RVMpathvariables:

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

我只需要调用~/.bash_profile

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

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

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

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

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

代替:

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

注意两者之间的空白处。 和“$ HOME”。

另外,如果这是个问题,当你启动你的terminal时,你应该注意到一个错误。

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

我创build了一个包装脚本,使用/ bin / bash来获取/etc/profile.d/rvm.sh。

您需要更改您的terminal仿真器首选项以允许loginshell。 有时需要使用/bin/bash --login作为命令。