如何告诉Terminal使用哪个版本的Ruby?

时间:2010-09-14 09:30:03

标签: ruby macos

我有两个相关的问题,我希望有人可以帮忙。

  1. 我最近在我的Mac上安装了Ruby 1.9.2(运行Snow Leopard 10.6.4)并且我无法弄清楚如何让终端使用新的Ruby作为默认值,而不是工厂安装的Ruby 1.8.7。旧的Ruby 1.8.7位于我的~/usr/bin/ruby目录中,而新的Ruby 1.9.2位于~/usr/local/bin/ruby中。有人说我需要将新版本的Ruby目录放在旧版本目录之前的PATH中,以便系统首先查看 - 这是正确的吗?如果是这样,任何人都可以提供有关如何执行此操作的分步说明吗?

  2. 我已经创建了一个新目录,但似乎无法找到使用Terminal 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” - 这是否会以某种方式导致此问题?

  3. 非常感谢任何帮助。这是我目前的路径:

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

3 个答案:

答案 0 :(得分:12)

您可能想查看rvm。您可以并排安装多个版本的ruby,并可以在它们之间轻松切换。如果您按照rvm安装说明进行操作,则不会再出现路径问题。

答案 1 :(得分:1)

您的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

答案 2 :(得分:0)

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

签出https://rvm.io/ - 安装完成后,您可以使用以下命令更改默认值:$ rvm use 1.9.2 --default

希望有所帮助 - 您可以使用任何版本执行此操作,而不仅仅是1.9.2