「brew doctor」コマンドがパスの変更を認識しない


0

brew doctorを実行すると、/ usr / local / binの前に/ user / binが発生するため、この投稿で言うように/ etc / pathsと〜/ .MacOSX / environment.plist を変更しました。brew doctorを再度実行しても、同じエラーが表示されます。任意のヒント?ありがとう


私は新しいシェルを開始し、それが機能しました。なぜ私がそうしなければならないのかわからないので、誰かがそれについて何らかの光を当てることができればそれでもいいでしょう。ありがとう
スティーブ

回答:


1

環境ファイルを変更する場合、環境を更新するためにそれらを手動で読み取るようにシェルに指示する必要があります。ターミナルを閉じて再度開くことはそれを行う1つの方法ですが、より効率的な方法はsourceコマンドを使用することです。

また、などのsudoアクセスを必要とするファイルを編集することは避けます/etc/paths。パスを編集するより安全な方法は、行を追加することです

export PATH=/new/path/name/:$PATH

ファイルに~/.profile(コンピューター上に存在しない場合があります)実行します

$ source ~/.profile

変更を有効にするため。~/.profileなどのシステムファイルの代わりに編集することにより、/etc/pathsユーザーエラーから保護します。PATH将来のある時点でデフォルト設定にリセットする必要がある場合は、からその行を削除してください~/.profile。ただし、/etc/pathsデフォルトに戻すには、手動で再度変更する必要があります。 新しいシェルが存在する場合、新しいシェルが開かれると、Terminal.appによって~/.profile自動的にsourcedになります。したがって、これを行う必要があるのは一度だけです。


私がリンクした投稿では、最初のコメントは/ etc / pathsファイルを変更することを推奨しています。それが私がそれをした理由です。彼の勧告は間違っていますか?
スティーブ

それが間違っていると言うのは間違っているでしょう。システムを維持するというあなたの哲学にかかっていると思います。個人的には、必要に応じて「即座に」システムのデフォルトに戻ることができるように、すべての変更(PATHの変更など)を単一のファイル(つまり〜/ .profile)に保持するのが好きです。また、プログラムが/ etc / pathsのシステムパスがデフォルトであると想定し、そうでない場合は壊れる可能性があります(これは可能性は低いですが、発生する可能性があります)。システムファイルをいじることに問題がない場合、それが間違っているとは言えません。私はそうはしないだろうというだけです。
SethMMorton

0

環境設定を変更するたびに、それらの変更を反映するために新しいシェルを起動する必要があります。これは、変更が既存のシェルセッションに影響を与えないようにするための仕様です。

ほとんどのOSでこの動作が見られます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.