1

両方のファイルがあり~/.bash_profileます~/.profile

~/.bash_profile次の 1 行が含まれます。

export PATH=/Applications/mamp/bin/php5.5.3/bin:$PATH

~/.profile次の 3 行が含まれます。

# MacPorts Installer addition on 2014-02-02_at_20:54:53: adding an appropriate PATH variable for use with MacPorts.
export PATH=/Applications/MAMP/bin/php5.5.3/bin/:/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.

ご覧のとおり、mcrypt がインストールされているため、MAMPs PHP を使用するようにデフォルトの PHP PATH を取得しようとしています。何らかの理由で、入力whereis PHPするとネイティブ route: が取得され/usr/bin/phpecho $PATH取得すると:

/Applications/mamp/bin/php5.5.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

どこかに PATH を実際に制御している別のファイルがあり、それがどこにあるのかわかりません。他に何が私の PATH ルートを制御している可能性がありますか?

注: HomebrewMacPortsXcode、およびXcode コマンドライン ツールがインストールされています。

4

2 に答える 2

1

表示されているのは、システム全体の /etc/paths ファイルからのものです。~/.profile、~/.bash_profile などが関与する前のベース $PATH 環境変数のソースです。ターミナル ウィンドウを使用している場合は、次のコマンドで編集できます。

sudo open -t /etc/paths

デフォルトでは、次のパスが含まれています。

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

ただし、このファイルはシステム全体に適用され、システム上のすべてのユーザーに影響するため、このファイルを編集することはお勧めしません。

$PATH を完全に制御して、自分のアカウントだけに影響を与えたい場合は、.profile のエクスポート PATH 行に $PATH を含めない方がよいでしょう。例(これではありません):

export PATH=/Applications/mamp/bin/php5.5.3/bin:/opt/local/bin:/opt/local/sbin
于 2014-03-26T12:10:30.780 に答える
0

確実.profileにロードされていますか?テストを試して、エコー行を追加します。

echo "test: .profile has loaded"

新しいターミナル ウィンドウを開きます。エコーが表示されますか? .profile少なくとも今日は、OSX がデフォルトで読み込まれるとは思わないので、そうではないと思います。

本当に使いたい場合は、ロードするように.profile依頼できます。.bash_profile

if [ -f ~/.profile ]; then
    source ~/.profile
fi

お役に立てれば。

編集:この回答で提案されているように .bash_profile または .bash_login が存在しない場合、.profile が読み込まれているように見えます

于 2014-02-07T19:16:11.547 に答える