web-dev-qa-db-ja.com

UNIX実行可能ファイルのデフォルトバージョンを変更するにはどうすればよいですか?

現在、OSXマシンに同じ実行可能ファイルの2つのバージョンがインストールされています。1つはusr/binにあり、もう1つはMacportsインストールです。 whichを実行すると、ターミナルは場所をusr/binバージョンに戻します。デフォルトのインストールを変更するための統一された方法はありますか、それともすべてのアプリケーションにこれに対する独自のコマンドオプションがありますか?

4
nipponese

PATH環境変数を変更する必要があります。これは、Unixで実行可能ファイルを検索するために使用される標準です。

Unix上の何かが相対パス(例:/usr/bin/clangではなくclang)で指定されたアプリケーションを探すとき、PATH:文字で分割されます。その後、順番に検索しました。

例:PATH/opt/local/bin:/bin:/usr/binの場合、clang/opt/local/bin/clangを検索し、それがない場合は/bin/clangなどを検索します。

技術的には、すべてのプロセスにこれを行う独自の方法があります。$PATHを使用する規則に従うように強制するものはありませんが、ほとんどすべてが行うのに十分長い間その方法でした。

もう1つの考慮事項は、すべてのプロセスに独自の環境があることです。これには、PATHのコピーが含まれています。これには、UIとそこから起動されるアプリケーションを担当するlaunchdが含まれます。

したがって、シェルのinitスクリプト(.bash_profile.bashrc.profileなど)でこれを変更できますが、たとえば、vimまたはemacsをとして起動した場合は機能しません。 GUIアプリケーション。

/etc/pathsを変更したり、ファイルを/etc/paths.dに追加したりすることもできます。これにより、Macで起動するすべてのアプリケーションを含むすべての標準環境の一部が形成されます。 (ただし、システムのすべての部分に浸透させるには、ログアウトしてから再度ログインする必要があります。)

7
Daniel Pittman

PATH変数は、コマンドの場所を定義します。

この変数は、/etc/pathsファイルで変更できます。 /usr/binが他の人よりも前にあることを確認する必要があります。

0
Gilles Quenot