我将我的ruby版本更新为1.9.2但是当我启动终端并运行ruby -v时它显示1.8.7。
我可以切换到ruby 1.9.2的唯一方法是在终端中编写源~/.profile
。
如何将1.9.2设为默认的ruby版本?
答案 0 :(得分:5)
如果您在不使用RVM的情况下安装了新的Ruby,则修改PATH以允许系统找到它是很重要的。您需要确保/usr/local/bin
在您的路径中/usr/bin
之前。您可以在命令行键入echo $PATH
进行检查。如果不是,请在~/.bash_profile
添加一行,如:
export PATH=/usr/local/bin:$PATH
这样,操作系统将在默认的系统安装应用程序之前搜索本地安装的应用程序。打开一个新shell并键入which ruby
,您应该看到您的系统指向新的Ruby。保持阅读,因为了解会话初始化的方式对于设置开发环境非常重要。
将BASH用作shell时,可以使用~/.bashrc
,~/.bash_profile
和/或~/.profile
作为初始化会话的启动脚本。根据shell的启动方式,将调用其中一个,但通常是~/.bash_profile
后跟~/.profile
。
为了让我的生活更加简单,我将启动命令放在~/.bash_profile
中,然后通过在其中添加源语句将~/.bashrc
指向它。因此,将您的RVM初始化命令放在~/.bash_profile
中,并确保~/.bashrc
指向它,默认情况下应该这样做。
从命令行执行man bash
并在INVOCATION
部分阅读相关内容,或在Wikipedia's BASH section中阅读相关内容。
作为参考,这是Wayne所说的命令,将 LAST 可执行文件放在文件中以初始化RVM:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
RVM的Installation
页面在“安装后”和“安装疑难解答”部分中提供了有关此内容的更多信息。
RVM工作得很好,设置很简单。我看到的最大问题是人们没有在他们的启动脚本中获得RVM调用,或者有一个错误的脚本来保持命令不被执行。如果你无法让它工作,那么你可以考虑将你的启动脚本放入一个pastie页面或将它添加到原始问题中,让我们看看是什么。
答案 1 :(得分:4)
将“source~ / .profile”放在“.bashrc”文件中,以便每次创建shell时都会运行。
或者use RVM。它让几个共存的红宝石变得轻而易举。
答案 2 :(得分:0)
如果'source~ / .profile'正在运行,请尝试退出并重新启动终端,或者只是打开一个新的终端窗口。如果您使用的是与更新ruby相同的终端窗口,则它仍然具有旧的配置文件。你可能不希望从.bashrc中获取你的个人资料..如果你的别名在运行.bashrc之后被改变了,奇怪的事情可能最终会发生在你的$ PATH变量上,因为你将改变它两次。
如果.profile中的相关行是'ruby'命令的别名,它应该有效。我刚刚在配置文件中将我的ruby命令改为'alias ruby =“ruby1.9”并打开了一个新的终端。 ruby -v
现在返回ruby 1.9.1p376(2009-12-07修订版26041)[i386-darwin10]