如何使用RVM更改我的Ruby版本?
我无法切换当前的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" ]
➜ ~ 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