如何判断终端使用哪个版本的Ruby?

如何判断终端使用哪个版本的Ruby?

问题描述:

我有两个相关的问题,我希望有人可以帮忙。如何判断终端使用哪个版本的Ruby?

  1. 最近,我在我的Mac(运行雪豹10.6.4)安装了Ruby 1.9.2,我一直无法弄清楚如何让终端使用新的Ruby作为默认,而不是工厂安装的Ruby 1.8.7。旧的Ruby 1.8.7位于我的~/usr/bin/ruby目录中,而新的Ruby 1.9.2位于~/usr/local/bin/ruby中。有人说我需要在旧版本的目录之前将新版本的Ruby目录放在PATH中,这样系统才会首先查找 - 这是正确的吗?如果是这样,任何人都可以提供一步一步的指导如何做到这一点?

  2. 我创建了一个新目录,但似乎无法找出将该目录添加到使用终端bash shell的PATH的正确方法。我尝试过使用我在这里找到的指示(http://www.macgasm.net/2008/04/10/ad...thin-terminal/)两次,但它们不适用于我。包含我的程序的目录(“Ruby_Programs”)显示在PATH中,但是当我尝试从命令行运行“ruby newprogram.rb”时,结果为":ruby: No such file or directory -- newprogram.rb (LoadError)"。该文件绝对存在,是一个功能强大的Ruby程序。我确实将目录的名称更改为“Ruby程序”,然后再更改为“Ruby_Programs” - 是否可能导致此问题?

任何帮助将不胜感激。这是我目前的路径:

$ echo $PATH 
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/sbrriffe/src:/usr/X11/bin:/Users/sbriffe/Ruby_Programs/: 

你的Ruby程序目录不应该在你的路径:你的Ruby解释器的位置应该是。然后,你cd到你的ruby程序的位置,并从那里运行它:ruby program.rb

由于您在Mac上,因此请检查homebrew以使安装软件更简单。我在/usr/local设置了自制软件,效果很好。

一旦你安装了你需要它的东西,那么你会想调整你的$PATH。在$PATH的项目都在寻找它们出现的顺序,所以在你的~/.bashrc,你需要添加:

export PATH=/usr/local/bin:$PATH 

为了确保/usr/local/bin/usr/bin之前搜索。

您可能想查看rvm。您可以并排安装多个版本的Ruby,并轻松地在它们之间切换。如果您遵循rvm安装说明,则不会再有任何路径问题。

+1

此链接稍微简单一点,请查看http://amerine.net/2010/02/24/rvm-rails3-ruby-1-9-2-setup.html – Jirapong 2010-09-14 11:22:31

+0

w00t!去getcha一些rvm! – 2010-09-14 18:34:32

我会使用RVM来安装所有东西,然后一旦安装了RVM,就很容易设置默认的Ruby版本。

退房https://rvm.io/ - 一旦你安装你可以通过更改默认:$ RVM使用1.9.2 --default

希望helps-你可以用任何版本做到这一点,不仅1.9 .2