/ usr / local / binが/ usr / binより先になるようにPATHを修正する


24

brewをインストールしようとしていますが、次の警告が表示されます。

Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

2to3
2to3-2.7
idle
idle2.7
pydoc
pydoc2.7
python
python-config
python2.7
python2.7-config
pythonw
pythonw2.7
smtpd.py
smtpd2.7.py

Consider amending your PATH so that /usr/local/bin
is ahead of /usr/bin in your PATH.

パスを修正する方法がわかりません。このスタックオーバーフローの投稿(http://stackoverflow.com/questions/8886114/using-brew-with-ruby-1-9-2)からいくつかのファイルを調査しましたが、編集するレレバンパスが見つかりません。私が持っている唯一のファイルは、現在のように見える/ etc / profileファイルです。

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
    PATH="/Library/Frameworks/Python.framework/Versions/2.7/local/bin:${PATH}"
export PATH

pythonをアンインストールしてからhomebrewで再インストールしたかったのですが、一度に多くのものを壊すことに少し緊張しています。

パスを修正する簡単な方法はありますか?.bash_profileファイルを作成する必要がありますか?事前にご協力いただきありがとうございます。

回答:


30

はい、以下.bash_profileを含むホームディレクトリにファイルを作成します

PATH="/usr/local/bin:$PATH"

次に、次のいずれかを実行して、変更をアクティブにします

  • 実行する . ~/.bash_profile
  • PATH="/usr/local/bin:$PATH"現在のシェルで実行する
  • ターミナルを再起動します

2
上記の答えが正しいかどう@threenovation、私はあなたが(次の答えにチェックマークをクリック)の答えとしてマーク提案することができます
ステュー・ウィルソン

これをエクスポートする必要があるのだろうか?子プロセスにもこの新しいパスが必要です。また、brewをセットアップしたときに、/ usr / binが/ usr / local / binの前に来たことを警告しませんでした。
スティーブンルー

@ StevenLu、.bash_profileに到達するまでに既にエクスポートされています。明示的に再度エクスポートしても問題ありませんが、必須ではありません。
グレンジャックマン

これをありがとう。「あなたのシステムは醸造するのが難しい」と働いた。
ベズ

で重複エントリを取得しているようです$PATH
flow2k

10

/ usr / local / binが/ usr / binの前にリストされるように、/ etc / pathsを修正する必要があります。そのためには、エディターをsudoする必要があります。

エディターを開く方法の1つは

 sudo open -t /etc/paths

PATHは.bash_profileで正しく構成されましたが、では構成されていません/etc/paths。これは見事に機能しました。
ニックトムリン

7
パスの設定にこの方法を使用しないでください。非ターミナルアプリケーションが「作成された」コンポーネントを取得して失敗するリスクがあります。「sudo」を使用することは、何をしているのかを本当に理解していない限り(特にMac Homebrewのようなユーザーレベルの開発システムで)危険なはずです。.bash_profileを編集してターミナルを再起動するだけで十分です。
rholmes

@rholmesでは.bash_profile、他のアプリケーションではなく、対話型ユーザーシェルのみに影響する変更はありますか
flow2k

1
@ flow2k .bash_profileは、対話型ユーザーシェルに影響します。エクスポートされた変数は、シェルコマンドラインから起動されたアプリケーション(たとえば、「通常の」Macアプリやコマンドラインコマンドの起動)に表示されます。いくつかの詳細はここで見つけることができますが、彼らはあなたが尋ねたものよりも細かい違いを作っている:scriptingosx.com/2017/04/about-bash_profile-and-bashrc-on-macos グレン・ジャックマンによって答えが使用する1つです。
rholmes

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