如何使用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解决了我的问题。
安装RVM,请参阅http://octopress.org/docs/setup/rvm/
在我的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
作为命令。