【问题标题】:BREW not found after swtiching from ZSH to BASH从 ZSH 切换到 BASH 后未找到 BREW
【发布时间】:2021-06-27 12:25:57
【问题描述】:

我将我的 shell 从 ZSH 切换到 BASH,当我尝试使用 BREW 时,我得到以下信息:

mac01:~ jdoe$ brew search python
-bash: brew: command not found
mac01:~ jdoe$

这是来自两个 shell 的 $PATH

来自ZSH

jdoe@mac01 ~ $echo $PATH
/opt/homebrew/bin:/opt/homebrew/sbin:/Library/Frameworks/Python.framework/Versions/3.9/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

来自BASH

mac01:~ jdoe$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

【问题讨论】:

  • ~/.bashrc~/.zshrc 差异?
  • 这就是我的 ~/.zshrc 的样子:别名 python3=/opt/homebrew/bin/python3 这就是我的 ~/.bashrc 的样子:export PATH=/usr/local/ bin:$PATH
  • @daquezada :显然brew 不在PATH 中的目录之一中。为什么不设置 PATH 以使其包含所需的目录?如果您不确定位置,您可以(在 zsh 中,您知道找到了brew),执行type brew 以查看目录。

标签: bash macos homebrew zsh


【解决方案1】:

默认情况下,brew 二进制文件位于/usr/local/bin/brew,如果没有找到 brew,则意味着 /usr/local/bin 不在 $PATH 上。所以你应该看看 $PATH 在 bash 中包含什么,然后在需要时附加 /usr/local/bin/

【讨论】:

  • 这就是我的 ~/.zshrc 的样子:别名 python3=/opt/homebrew/bin/python3 这就是我的 ~/.bashrc 的样子:export PATH=/usr/local/ bin:$PATH
  • @daquezada,请向我们展示来自不同 shell 的 $PATH (echo $PATH)
  • 来自 ZSH:daquezada@mac01 ~ $echo $PATH /opt/homebrew/bin:/opt/homebrew/sbin:/Library/Frameworks/Python.framework/Versions/3.9/bin:/usr /local/bin:/usr/bin:/bin:/usr/sbin:/sbin 来自 BASH: mac01:~ daquezada$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin :/sbin
  • 您的.bash_profile 中有source ~/.bashrc 吗?主要在 macos 中,bashrc 位于 /etc/bashrc 中,对于整个配置文件,它是 ~/.bash_profile
  • 你应该取消注释它,以使用.bashrc
【解决方案2】:

我才意识到我没有安装XCode

我安装了XCode,然后重新安装了Homebrew,现在一切正常。

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 2017-02-27
    • 2012-05-07
    • 1970-01-01
    • 2022-01-24
    • 2020-02-29
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多