6

そのため、OSXLeopardでパスの問題が発生しています。OS Xが私が述べていない他のパスを追加しているようで、パスの優先順位が乱れています。ファイルだけがあり、または.profileファイル.bash_loginはありません。.bashrc私の.bash_loginファイルはそのようなものです:

export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

exportを実行すると、これが返されるパスです。

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin"

そこに/usr/ binを入れることができるものと、私が/usr/local/binより高い優先順位になる方法についてのアイデア。

これをRailsにもタグ付けしているのは、これが現在取り組んでいることだからです... Macに組み込まれているRuby、Rails、Gemsが、私がインストールしたものよりも優先されているよう/usr/local/binです。も役立つ可能性があります。

4

5 に答える 5

16

これらの2つのディレクトリの内部を調べましたか?

/etc/paths.d/
/etc/manpaths.d

これらのディレクトリ内のファイルで定義されたパスは、PATH変数に自動的に追加されます。私は主にこれらの2つのディレクトリを使用して、サードパーティがインストールしたアプリケーションをPATHに配置します。また、OSXのmanページもご覧くださいpath_helper

編集:の内容を見ると、それが最初に実行され/etc/profileていることがわかります。path_helperのマニュアルページには、ディレクトリ内のpath_helperファイルを読み取る前に、ファイルとで定義されたパスを読み取って設定すると記載されています。見てみると、これがわかります。/etc/paths.d//etc/manpaths.d/path_helper/etc/paths/etc/manpaths/etc/paths

$ cat /etc/paths
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

そして、私は、それらがPATHに設定されているとあなたが見ているものの半分を占めていると信じています。

于 2008-12-07T05:48:10.407 に答える
4

変更が適用されていないようです。/ usr / local / mysql/binがないことに注意してください

INVOCATIONのbashマンページセクションを読んでください。.bash_loginは、それがログインシェルである場合にのみ読み取られます。これはターミナルシェルではありません。代わりに〜/.bashrcに入れる必要があります。ログインおよび非ログインシェルについて読み取られます。

于 2008-12-07T05:41:51.373 に答える
1

https://web.archive.org/web/20150330034300/http://www.astro.washington.edu/users/rowen/AquaEnvVarで詳しく説明されているように、~/.MacOSX/Environment.plist に何かを入れることもできます。 html

これにより、端末 (bash) セッションから開始されたアプリケーションだけでなく、すべてのアプリケーションで環境変数を使用できるようになります。

(今はもっといい提案もあるみたいです)

于 2010-09-14T10:44:18.980 に答える
0

.bashrc または .login を入力するだけで問題ありません

于 2008-12-28T17:10:49.627 に答える
0

また、Apple のサポート フォーラムで興味深い記事を見つけました。

.bash_login は実行されなくなりました

その情報を使用して、見落とされていた空白の .bash_profile ファイルを見つけました。それがロードされていて、パスに設定しようとしていたすべての情報が削除されました。

ですから、状況によってはいくつかの「正解」がありそうです。

于 2008-12-07T06:52:16.987 に答える