2009-08-26 87 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