2009-08-26 57 views

回答

5

要使用特定的ruby版本,如果你有两个版本安装你可以指定一个你想要的绝对路径。例如。 /你/路径/到/ Ruby或者你可以改变你的PATH在.profile

设置,您可以键入

which ruby 

看到的路径是目前使用的红宝石可执行文件。

使用

echo $PATH 

你可以看到当前的PATH设置。你必须在PATH中添加新的ruby二进制文件的路径,以便在另一个之前找到它。

由于阿亚兹已经提到,你的东西MacPorts的默认位置是在/ opt /地方。如果您在路径前添加/ opt/local/bin,它应该没问题。 (确保在更改后启动一个新的终端窗口 - 除非您明确地再次输入.profile文件,否则它们将不会在当前会话中被拾取)

请注意一点:在预先设置/ opt/local/bin到你的路径shell将总是更喜欢那里的二进制文件到后面找到的二进制文件,如果你依赖于/ bin,/ sbin或/ usr/sbin中的特定版本,这可能是一个问题 - 这取决于你的情况,这意味着你不应该这样做(如果你的计算机正在处理敏感数据和/或银行或其他东西),或者只是必须记住它可能是一个问题(如果你的计算机是一个普通的开发机器)。

http://www.tech-recipes.com/rx/2621/os_x_change_path_environment_variable/如果您需要关于如何设置PATH在OSX一些更多的提示。

+0

thx的信息,我认为macports已经为我做了这些东西,因为当我查找它的名称时,使用ruby 1.9就像在“ruby1.9 ...”中键入终端 出口PATH = /选择/ local/bin目录中:/ opt/local/sbin中:$ PATH – 2009-08-26 11:24:22

1

我倾向于认为macports通常可以把它所有的东西/opt/local目录内。我正在使用Leopard,并将其放在该目录中。您可能希望在那里寻找,特别是在/opt/local/bin之内,以查找您正在寻找的ruby二进制文件。

2

只是关于MacPorts的快速说明。 Ayaz是正确的,默认情况下,MacPorts将安装/opt/local。 (这样便于以后全局卸载,如果你愿意,它不断的MacPorts包出来的OS X包的方式。)

当您安装使用MacPorts,它通常会编辑$PATH(和你的$MANPATH)为你通过更新你的用户的.profile(创建它,如果它不存在的话)。

作为预防措施,安装程序会创建原始的备份。配置文件以防您想要回滚更改(或者您以后完全卸载MacPorts)。这是来自工作中的随机机器的一个例子。

 
admin ~ $ ls .profile* 
.profile .profile.macports-saved_2009-08-03_at_14:55:56 

如果您在看的.profile你应该看到这样的事情:

 
## 
# Your previous /Users/admin/.profile file was backed up as /Users/admin/.profile.macports-saved_2009-08-03_at_14:55:56 
## 

# MacPorts Installer addition on 2009-08-03_at_14:55:56: adding an appropriate PATH variable for use with MacPorts. 
export PATH=/opt/local/bin:/opt/local/sbin:$PATH 
# Finished adapting your PATH environment variable for use with MacPorts. 

# MacPorts Installer addition on 2009-08-03_at_14:55:56: adding an appropriate MANPATH variable for use with MacPorts. 
export MANPATH=/opt/local/share/man:$MANPATH 
# Finished adapting your MANPATH environment variable for use with MacPorts. 

如果你的$ PATH 没有被更新了,你应该调整它,否则,您将无法使用port工具和通过MacPorts安装的软件。

9

默认情况下,在MacPorts的红宝石1.9端口安装在/opt/local/bin/ruby1.9 Ruby的二进制文件。它附加了一个1.9来避免重复使用Ruby 1.8.7库和宝石,因为并不是所有的宝石都与1.9兼容。所以,你要推出的Ruby 1.9与ruby1.9(和irb1.9等)

如果你不希望有这样做,你有两个选择:

  1. 别名rubyruby1.9在你的shell配置文件。
  2. +nosuffix变种安装Ruby 1.9的端口。然而,要注意的是,如果您通过使用MacPorts安装了Ruby 1.8,通过MacPorts的不1.9后缀安装Ruby 1.9可能会导致冲突(宝石等)。
+0

来添加一个别名另一种方法是在你的主文件夹中创建“bin”目录,并在那里创建链接到macport红宝石'LN -s /opt/local/bin/ruby1.9 ruby​​'和宝石'LN -s /opt/local/bin/gem1.9 gem'然后,源这首先在你的路径'出口PATH =〜/斌:$ PATH'。这样做的好处是它可以让MacVim选择正确的Ruby版本(它不识别别名,只有$ PATH)。 – atomicules 2011-08-26 22:43:54

+1

使用'+ nosuffix'变体的方法,已经由新的MacPorts语法取代(如V2.1.3的):'端口选择--set红宝石ruby19'。这应该适用于任何有多个“版本”的软件包,尽管看起来软件包的维护者需要单独实现对它的支持。 'select'命令设置哪些版本不带后缀('/ opt/local/bin/ruby​​',而不是'/ opt/local/bin/ruby​​19')。 – beporter 2013-04-12 19:53:52