Ada*_*amT 36 bash terminal homebrew path
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.
Run Code Online (Sandbox Code Playgroud)
这是我的路径:
Adams-MacBook-Pro% echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)
我认为将事情移到前线是危险的?我该如何解决这个问题?另外,我甚至不确定在哪里找到路径中声明/ user/bin的位置.
谢谢
Dea*_*ean 48
$ PATH只是一个包含字符串的变量.把东西放在前面:
% PATH=/usr/local/bin:$PATH
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)
这并不危险,因为它只适用于您打开的当前shell(它不会影响系统或其他shell的路径).
要为您打开的所有shell自动更改路径,请将其放入~/.profile.如果该文件尚不存在,您可以创建该文件.
在~/.profile:
homebrew=/usr/local/bin:/usr/local/sbin
export PATH=$homebrew:$PATH
Run Code Online (Sandbox Code Playgroud)
export 使变量可用于shell的任何子进程.
Lel*_*hcr 23
我找到了另一种解决方法.
sudo vim /etc/paths
Run Code Online (Sandbox Code Playgroud)
并像这样添加/ usr/local/bin和/ usr/local/sbin
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
Run Code Online (Sandbox Code Playgroud)
打开一个新的终端选项卡,然后你会看到
~ $ env|grep PATH
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
Run Code Online (Sandbox Code Playgroud)
小智 10
只需在您喜欢的终端应用程序中运行以下行:
echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
重启终端并运行
brew doctor
Run Code Online (Sandbox Code Playgroud)
这个问题应该得到解决
我刚刚创建了一个 .bashrc 文件并添加了
homebrew=/usr/local/bin:/usr/local/sbin
导出 PATH=$homebrew:$PATH
看来这已经成功了!