如何判断Mac OS X上是否安装了Homebrew

168

我正在进行一些Rails编程,发现网络上的解决方案中经常提到Homebrew,但我从未使用过它。

我还注意到,在终端版本2.9中,“Shell -> New”下拉菜单中出现了Homebrew选项,但当我选择Homebrew并输入命令时,它们会失败。

通常会出现“command not found”错误。

奇怪的是,我一直找不到一个简单的命令来确定是否已安装brew。

如何检查我的Mac上是否已安装Homebrew?

21个回答

192

brew help。如果brew存在,你会得到输出。否则,你会得到“命令未找到”的提示。如果你需要在脚本中进行检查,可以通过重定向输出并检查$?来解决。


2
我执行了"brew help",但是什么都没有显示出来。于是我决定继续安装,现在"brew help"能够返回结果了。谢谢。 - Kmb40
62
brew -v 命令会显示当前的 Homebrew 版本号。 - Saif
1
将其粘贴到命令行:/usr/bin/ruby -e“$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” - Djama

69

我使用这个来执行更新或安装:

which -s brew
if [[ $? != 0 ]] ; then
    # Install Homebrew
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
    brew update
fi

2
如果找不到软件包,这是一个非常好的安装解决方案! - cakes88
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh - Preetam Jadakar

67

判断软件是否安装,通常使用which命令。

如果已经安装了Brew。

>>> which brew
/usr/local/bin/brew

如果未安装 Brew。

>>> which brew
brew not found
注意:关于“未安装”的信息取决于你的 shell。以上显示的是 zshbash 不会打印任何内容。 csh 会说“brew: Command not found.” 在“已安装”情况下,所有 shell 都会打印路径。 它适用于所有命令行程序。尝试使用 which grepwhich python。由于它告诉您正在运行的程序,因此在调试时非常有用。

当我在我的Mac机器终端上写brew时,我什么也没有得到。 - Chandni - Systematix
2
根据您使用的Shell不同,您将获得不同的消息。这是一个很好的澄清! - Liyan Chang

37
which是检查程序是否安装的最常见方法,但仅当程序在$PATH中时才会告诉您该程序已被安装。因此,如果您的程序已安装,但由于某种原因未更新$PATHwhich将会告诉您该程序未安装。command -v foo是比which foo更好的替代方法。command -v brew将仅在Homebrew未安装时输出空内容。 (*一个示例场景是从Bash更改为Zshell,但~/.zshrc没有旧的$PATH来自~/.bash_profile)
command -v brew

这是一个示例脚本,用于检查Homebrew是否已安装,如果未安装则安装它,如果已经安装则更新。

if [[ $(command -v brew) == "" ]]; then
    echo "Installing Hombrew"
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
    echo "Updating Homebrew"
    brew update
fi

1
非常有用。感谢您发布了一个“替代which”的解释。 - SoEzPz
从Bash手册中,在command的描述中:“只有内置命令或在PATH中找到的命令才会被执行”。因此,commandwhich一样使用PATH(这很合理:它需要知道在哪里查找)。我在我的电脑上安装了Homebrew,但我破坏了我的PATH,既whichcommand都无法找到它。 - bfontaine
你确定吗?根据POSIX手册,似乎command可以找到shell函数、别名和保留字,而不仅仅是内置或特殊实用程序。https://man7.org/linux/man-pages/man1/command.1p.html - Aamnah

21

brew -vbrew --version就可以查询版本号啦!


13

如果你安装了Homebrew,你只需要在终端中输入 "brew -v" ,它就会显示已经安装的版本号。


11

安装位置

which brew 

Homebrew 安装版本

brew --version

6
也许你的Mac没有收到路径。 终端结果 运行以下命令。
eval "$(/opt/homebrew/bin/brew shellenv)"

运行以检查工作 brew help

谢谢 - 在将默认shell更改为bash后,我的酿造消失了。这是唯一有效的解决方案! - RainbowGiantSquid
非常高兴能够帮助你!! - undefined

5
[ ! -f "`which brew`" ] && echo "not installed"

说明:如果没有安装brew,请在运行以下命令后执行&&

4

初学者通常会执行错误的命令homebrew --version

改为执行brew --version,或者执行brew help。如果这两个命令都无法执行,则表示你没有安装Homebrew。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接