37
Adams-MacBook-Pro% brew doctor                                 

Error: /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:

    clusterdb
    createdb
    createlang
    createuser
    dropdb
    droplang
    dropuser
    ecpg
    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack
    gitk
    pg_config
    pg_dump
    pg_dumpall
    pg_restore
    pg_upgrade
    psql
    reindexdb
    vacuumdb

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

これが私の道です:

Adams-MacBook-Pro% echo $PATH                                  
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

物を前に出すのは危険だと思いましたか?この問題を解決するにはどうすればよいですか?また、パスのどこで/ user/binが宣言されているかさえわかりません。

ありがとう

4

8 に答える 8

49

$ PATHは、文字列を含む単なる変数です。何かを前に置くには:

% PATH=/usr/local/bin:$PATH
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

これは、開いている現在のシェルにのみ適用されるため、危険ではありません(システムや他のシェルのパスには影響しません)。

開いたすべてのシェルのパスを自動的に変更するには、パスをに入れます~/.profile。このファイルがまだ存在しない場合は、作成できます。

~/.profile

homebrew=/usr/local/bin:/usr/local/sbin
export PATH=$homebrew:$PATH

exportシェルのすべての子プロセスで変数を使用できるようにします。

于 2012-07-04T22:22:41.820 に答える
23

私はこれを解決する別の方法を見つけました。

sudo vim /etc/paths

このように/usr/ local/binと/usr/ local/sbinを追加します

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

新しいターミナルタブを開くと、次のように表示されます

~ $ env|grep PATH
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
于 2014-06-14T11:58:49.270 に答える
10

お気に入りのターミナルアプリケーションで次の行を実行するだけです。

echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

ターミナルを再起動して実行します

brew doctor

問題を解決する必要があります

于 2013-10-31T01:14:14.533 に答える
4

.bashrcファイルを作成して追加しました

homebrew = / usr / local / bin:/ usr / local / sbin
export PATH = $ homebrew:$ PATH

それでうまくいったようです!

于 2013-04-28T11:52:51.810 に答える
3

たぶんOPはzshを使用しています。
それを解決する方法は、itermを開くたびに〜/ .zshrcを編集して、このファイルロードすることです。PATH についての言葉を変えてください。

于 2014-04-08T12:43:48.623 に答える
2

本当に永続的でデフォルトにしたい場合は、ファイル/ etc / パスを(sudoを使用して)編集し、/ usr / local/binをリストの一番上に移動します。

私自身の.bash_profileでは、「pathadd」と呼ばれるスクリプトを使用して、シェルがフォークされたときにPATHが扱いにくく重複でいっぱいになるのを防ぎます。そこで、/ usr / local / binを何度も前面に追加して、PATHにディレクトリが重複しないように、/ etc/pathsアクションを実行しました。

于 2013-10-20T16:20:00.717 に答える
1

$ PATHで変更した後は、ターミナルを再起動する必要があります。

于 2014-05-02T01:20:36.213 に答える
0

OS X Mountain Lionでは、編集が必要でした~/.bash_profile

于 2013-08-19T09:33:49.447 に答える