我正在进行一些Rails编程,发现网络上的解决方案中经常提到Homebrew,但我从未使用过它。
我还注意到,在终端版本2.9中,“Shell -> New”下拉菜单中出现了Homebrew选项,但当我选择Homebrew并输入命令时,它们会失败。
通常会出现“command not found”错误。
奇怪的是,我一直找不到一个简单的命令来确定是否已安装brew。
如何检查我的Mac上是否已安装Homebrew?
我正在进行一些Rails编程,发现网络上的解决方案中经常提到Homebrew,但我从未使用过它。
我还注意到,在终端版本2.9中,“Shell -> New”下拉菜单中出现了Homebrew选项,但当我选择Homebrew并输入命令时,它们会失败。
通常会出现“command not found”错误。
奇怪的是,我一直找不到一个简单的命令来确定是否已安装brew。
如何检查我的Mac上是否已安装Homebrew?
brew help
。如果brew存在,你会得到输出。否则,你会得到“命令未找到”的提示。如果你需要在脚本中进行检查,可以通过重定向输出并检查$?
来解决。
我使用这个来执行更新或安装:
which -s brew
if [[ $? != 0 ]] ; then
# Install Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
brew update
fi
判断软件是否安装,通常使用which
命令。
如果已经安装了Brew。
>>> which brew
/usr/local/bin/brew
如果未安装 Brew。
>>> which brew
brew not found
注意:关于“未安装”的信息取决于你的 shell。以上显示的是 zsh
。bash
不会打印任何内容。 csh
会说“brew: Command not found.” 在“已安装”情况下,所有 shell 都会打印路径。
它适用于所有命令行程序。尝试使用 which grep
或 which python
。由于它告诉您正在运行的程序,因此在调试时非常有用。which
是检查程序是否安装的最常见方法,但仅当程序在$PATH
中时才会告诉您该程序已被安装。因此,如果您的程序已安装,但由于某种原因未更新$PATH
,which
将会告诉您该程序未安装。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
command
的描述中:“只有内置命令或在PATH中找到的命令才会被执行”。因此,command
和which
一样使用PATH
(这很合理:它需要知道在哪里查找)。我在我的电脑上安装了Homebrew,但我破坏了我的PATH
,既which
也command
都无法找到它。 - bfontainecommand
可以找到shell函数、别名和保留字,而不仅仅是内置或特殊实用程序。https://man7.org/linux/man-pages/man1/command.1p.html - Aamnahbrew -v
或brew --version
就可以查询版本号啦!
如果你安装了Homebrew,你只需要在终端中输入 "brew -v" ,它就会显示已经安装的版本号。
安装位置
which brew
Homebrew 安装版本
brew --version
[ ! -f "`which brew`" ] && echo "not installed"
&&
。初学者通常会执行错误的命令homebrew --version
。
改为执行brew --version
,或者执行brew help
。如果这两个命令都无法执行,则表示你没有安装Homebrew。
brew -v
命令会显示当前的Homebrew
版本号。 - Saif