我正在做一些Rails编程,我在网络上的解决方案中始终看到Homebrew,但从未使用过。
我还注意到终端版本2.9中的Homebrew是该终端下拉菜单中“ Shell-> New”旁边的一个选项,但是当我选择homebrew并发出命令时,它们失败。
通常会出现“找不到命令”错误。
奇怪的是,我无法找到一个简单的命令来确定是否安装了brew。
如何检查Mac上是否已安装Homebrew?
Answers:
brew help
。如果酿造在那里,您将获得输出。如果没有,您将得到“找不到命令”。如果需要检入脚本,则可以确定如何重定向输出并检入$?
。
brew -v
打印Homebrew
版本
我用它来执行更新或安装:
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
注意:“未安装”消息取决于您的外壳。
zsh
如上所示。bash
只会不打印任何内容。csh
会说brew: Command not found.
在“已安装”的情况下,所有外壳程序都会打印路径。)
它适用于所有命令行程序。尝试which grep
或which python
。由于它告诉您正在运行的程序,因此在调试时也很有用。
虽然这which
是检查程序是否已安装的最常见方法,但它只会告诉您是否已安装程序$PATH
。因此,如果您的程序已安装,但由于$PATH
某种原因未进行更新*,which
则会告诉您该程序未安装。
(*一个示例场景是从Bash更改为Zshell,而~/.zshrc
没有旧版本$PATH
从~/.bash_profile
)
command -v foo
是更好的选择which foo
。command -v brew
如果未安装Homebrew,则不会输出任何内容
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
就我而言,Mac OS High Sierra 10.13.6
brew -v
OutPut-
Homebrew 2.2.2
Homebrew/homebrew-core (git revision 71aa; last commit 2020-01-07)
Homebrew/homebrew-cask (git revision 84f00; last commit 2020-01-07)