web-dev-qa-db-ja.com

醸造医師は、「エラー:/ usr / local / binの前に/ usr / binが発生します」と言います。

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がパスのどこで宣言されているかを見つけることすらできません。

ありがとう

36
AdamT

$ 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 は、シェルのすべての子プロセスで変数を使用できるようにします。

47
Dean

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

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
23
Lelouchcr

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

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

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

brew doctor

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

10
iceturk22

私はちょうど.bashrcファイルを作成し、追加しました

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

これでトリックが完了したようです!

4
pixel 67

たぶん、OPはzshを使用しています。
これを解決する方法は、〜/ .zshrcを開くたびにitermを編集してこのファイルをロードすることです。
[〜#〜] path [〜#〜]についての単語を変更します。

3
Slahser

永続的でデフォルトにする場合は、/ etc/pathsファイルを編集し(Sudoを使用)、/ usr/local/binをリストの先頭に移動します。

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

2
Mojo

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

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

0
Slava V