読者です 読者をやめる 読者になる 読者になる

MacOS XデフォルトのRubyとMacPortsで入れたRubyどちらが有効になる?

mac ruby

MacPortsフォルダへの環境変数の通し方で決まる。
$PATHの中で先に書いてある方を見に行くようだ。

MacPorts優先

.bash_profile

export PATH=/opt/local/bin:/opt/local/sbin/:$PATH

上記の書き方だと、MacPortsで入れたものが優先される。
/opt/local/bin がMacPortsからインストールされたソフトが格納される場所。
既存の$PATHを後ろに追加してるため、MacPortsのものが優先される。


デフォルト優先

.bash_profile

export PATH=$PATH:/opt/local/bin:/opt/local/sbin/

/usr/bin にあるrubyが優先される。理由は同じ。

当然かもしれないけど

Rubyに限らず、Macに最初からあって、MacPortsでも入れたもの全てに適用される。
ただ、パスを指定してあげれば、任意の方を呼び出せる。