web-dev-qa-db-ja.com

$ PATHは更新されません

これについてはすでに議論されているようですが、問題を解決することはできません。/etc/pathsに必要な文字列がすべてあります

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

〜/ .bash_profile

export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:$HOME/.rvm/bin
export PATH="$(brew --prefix php54)/bin:$PATH"
export PATH="$(brew --prefix)/bin:$PATH"

しかし、実行するたびに

echo $PATH

ターミナルでは、私は

/usr/local/bin

.bash_profile文字列を.profileまたは.bashrcに配置しても、効果はありません。

1
matr0sk1n

PATHは、最初に/ etc/pathから構築され、次に/etc/paths.d内のファイルから構築され、次に.bash_profileから構築されます。最後のステップから始めて、各ステップを系統的に削除し、問題が再現されるかどうかをテストします。

  1. .bash_profileのすべての行をコメントアウトして保存します(または、削除/名前変更することもできます)。
  2. ターミナルを閉じて再起動し、PATHを再構築します。
  3. $ PATHをエコーし​​ます。/etc/pathsからのすべてが含まれている必要があります。

/ etc/pathのすべてが含まれている場合、問題は.bash_profileにあります。問題を再現するまで、一度に1行ずつコメントを外します。そうすれば、どの行が問題であるかがわかり、漠然としたPATHの問題の代わりにそれをトラブルシューティングできるようになります。

または、.bash_profileを削除しても効果がない場合は、.bash_profileが機能する前に問題が発生しています。 /etc/paths.d内のファイルを確認してください。これらのファイルもPATHに追加されます。それらをpaths.dから移動し、PATHが/ etc/pathsから適切に構築されているかどうかをテストします。

この投稿そしてこの投稿 のように、多くの人がrvmに問題を抱えているようです。したがって、問題は.bash_profileにあると思います。頑張って教えてください。

3
dangenet

シェルでこれを行います:

$ source ~/.bashrc

これにより、現在のセッションが変更を認識します。

1
Ning

PATHの値にスペースが含まれている可能性があり、問題が発生している可能性があります。引用符で囲んでみてください。

export PATH="$PATH:/usr/local/mysql/bin"
export PATH="$PATH:$HOME/.rvm/bin"
export PATH="$(brew --prefix php54)/bin:$PATH"
export PATH="$(brew --prefix)/bin:$PATH"

輸出ではありそうもないですが。おそらく、スクリプトは別の方法で解析されます。

0
konsolebox

行の最後に$PATH変数を配置してみてください。私の.bash_profileでは、それが私がそれを持っている方法であり、それはうまく機能します。

export PATH="/usr/local/mysql/bin:$PATH"
0
Kevin