Brew врач говорит: "Ошибка:/usr/bin происходит до /usr/local/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 объявлен в пути.
Спасибо
Ответы
Ответ 1
$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
делает эту переменную доступной для любых дочерних процессов оболочки.
Ответ 2
Я нашел другой способ решить эту проблему.
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
Ответ 3
Просто запустите следующую строку в своем любимом терминальном приложении:
echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile
Перезагрузите терминал и запустите
brew doctor
проблема должна быть решена.
Ответ 4
Я только что создал файл .bashrc и добавил
homebrew =/usr/local/bin:/usr/local/sbin
экспорт PATH = $homebrew: $PATH
Это, похоже, сделало трюк!
Ответ 5
Возможно, OP использует zsh.
Способ его решения - отредактировать ~/.zshrc каждый раз, когда вы открываете iterm, загрузите этот файл.
Измените слова о PATH.
Ответ 6
Если вы действительно хотите сделать его постоянным и по умолчанию, отредактируйте файл /etc/paths (используя sudo) и переместите /usr/local/bin в начало списка.
В моем собственном .bash_profile я использую script, называемый "pathadd", который не позволяет моему PATH получать громоздкие и полные дубликаты при разрыве оболочек. Поэтому я принял действие /etc/paths специально, чтобы избежать дублирования каталогов в PATH, добавив /usr/local/bin на фронт снова и снова.
Ответ 7
Вам необходимо перезапустить свой терминал после любого изменения с помощью $PATH.
Ответ 8
В OS X Mountain Lion, который нуждался в редактировании, был ~/.bash_profile