我已经使用以下方式安装了 Homebrew:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run Code Online (Sandbox Code Playgroud)
为什么brew找不到命令?
(base) rags@Rageshs-Mac-mini ~ % brew help
zsh: command not found: brew
Run Code Online (Sandbox Code Playgroud)
我的$PATH变量根据外壳:
(base) rags@Rageshs-Mac-mini ~ % echo $path
/Users/rags/opt/anaconda3/bin /Users/rags/opt/anaconda3/condabin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/Apple/usr/bin
Run Code Online (Sandbox Code Playgroud)
Homebrew 不包含在您的$PATH变量中,这是 shell 找不到命令的原因brew。
要解决此问题,您必须编辑 shell 启动脚本.zshrc. Homebrew 安装程序不会进行此编辑,而是指示用户进行此编辑,您可能错过了这一点。
将以下行添加到.zshrc:
eval $(/opt/homebrew/bin/brew shellenv)
Run Code Online (Sandbox Code Playgroud)
您可以使用文本编辑器或执行 shell 命令来添加它:
$ echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> $HOME/.zshrc
Run Code Online (Sandbox Code Playgroud)
现在,通过打开一个新的 shell 窗口来重新加载 shell,您应该可以开始了。
.zshrc每次打开新 shell 时都会执行中的行。
当炮弹到达线时
eval $(/opt/homebrew/bin/brew shellenv)
Run Code Online (Sandbox Code Playgroud)
它首先会执行
/opt/homebrew/bin/brew shellenv
Run Code Online (Sandbox Code Playgroud)
,即执行brew二进制文件,给出其完整路径,并shellenv提供作为参数。从man brew:
eval $(/opt/homebrew/bin/brew shellenv)
Run Code Online (Sandbox Code Playgroud)
事实上, 的输出brew shellenv是:
$ brew shellenv
export HOMEBREW_PREFIX="/opt/homebrew";
export HOMEBREW_CELLAR="/opt/homebrew/Cellar";
export HOMEBREW_REPOSITORY="/opt/homebrew";
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin${PATH+:$PATH}";
export MANPATH="/opt/homebrew/share/man${MANPATH+:$MANPATH}:";
export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}";
Run Code Online (Sandbox Code Playgroud)
因此,实际上,shell 启动脚本执行eval $(...),并...替换为上面的行。
| 归档时间: |
|
| 查看次数: |
14307 次 |
| 最近记录: |