Mac OS X Sierra下brew命令无输出:误输入>前缀后故障
看起来你遇到的问题大概率是不小心在当前目录创建了一个名为brew的空文件,导致shell优先执行这个本地文件而非系统的Homebrew命令。试试下面的步骤排查解决:
第一步:检查并删除本地的
brew文件
在终端执行以下命令,查看当前目录下的所有文件:ls -la如果列表里出现名为
brew的文件,直接删除它:rm ./brew之后再运行
brew --version试试,应该就能正常输出了。第二步:用绝对路径验证brew本身是否正常
如果第一步没解决问题,直接执行brew的绝对路径来确认Homebrew程序本身没问题:/usr/local/bin/brew --version(Mac OS X Sierra系统下Homebrew默认安装在
/usr/local/bin,如果你的安装路径不同,替换成对应路径即可)
如果这个命令有输出,说明是PATH环境变量的问题——当前目录(.)可能排在Homebrew路径前面,导致优先执行本地文件。可以检查PATH配置:echo $PATH确保
/usr/local/bin在路径列表的靠前位置,如果不是,修改~/.bash_profile或~/.zshrc(取决于你使用的shell),添加export PATH="/usr/local/bin:$PATH",然后重启终端即可。第三步:用brew doctor排查配置问题
如果前两步都没解决,试试让brew自检并给出修复建议:brew doctor(如果这个命令仍无输出,就用绝对路径执行:
/usr/local/bin/brew doctor)
按照命令给出的提示操作,一般能修复大部分配置类问题。
多数情况下第一步就能解决问题,因为输入> brew回车后,shell会创建一个空的brew文件,之后你输入brew命令时,shell会优先执行当前目录的这个空文件,自然不会有任何输出。
内容的提问来源于stack exchange,提问作者htafoya

