我有两个相关的问题,我希望有人可以帮忙。
我最近在我的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中,以便系统首先查看 - 这是正确的吗?如果是这样,任何人都可以提供有关如何执行此操作的分步说明吗?
我已经创建了一个新目录,但似乎无法找到使用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/:
答案 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