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

1 ruby macos

我有两个相关的问题,我希望有人可以提供帮助.

  1. 我最近在我的Mac上安装了Ruby 1.9.2(运行Snow Leopard 10.6.4),我无法弄清楚如何让Terminal使用新的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" - 这是否会以某种方式导致此问题?

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

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/sbrriffe/src:/usr/X11/bin:/Users/sbriffe/Ruby_Programs/:
Run Code Online (Sandbox Code Playgroud)

rdv*_*ijk 12

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