如何判断Mac OS X上是否安​​装了自制程序

Kmb*_*b40 64 macos homebrew ruby-on-rails

我正在做一些Rails编程,我一直看到Homebrew在网络解决方案中引用但从未使用它.

我还注意到终端版本2.9中的Homebrew作为终端下拉"Shell - > New"旁边的选项,但是当我选择自制程序并发出命令时,它们会失败.

通常带有"未找到命令"错误.

奇怪的是,我无法找到一个简单的命令来确定是否安装了brew.

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

bma*_*ies 77

brew help.如果有啤酒,你会得到输出.如果没有,你得到'命令未找到'.如果您需要签入脚本,可以了解如何重定向输出和检查$?.

  • `brew -v`打印`Homebrew`版本 (10认同)
  • 我执行了“brew help”,但一无所获。我决定继续安装,现在“brew help”返回结果。谢谢。 (2认同)

sta*_*bit 44

我用它来执行更新或安装:

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

  • 如果找不到包,那么非常好的安装包的解决方案! (2认同)

Liy*_*ang 43

确定是否安装了某些东西的标准方法是使用which.

如果安装了Brew.

>>> which brew
/usr/local/bin/brew
Run Code Online (Sandbox Code Playgroud)

如果未安装Brew.

>>> which brew
brew not found
Run Code Online (Sandbox Code Playgroud)

注意:"未安装"消息取决于您的shell.zsh如上所示.bash不会打印任何东西.csh会说brew: Command not found.在"已安装"的情况下,所有shell都会打印路径.)

它适用于所有命令行程序.试试which grepwhich python.因为它告诉你正在运行的程序,所以在调试时它也很有用.

  • 根据您使用的 shell,您会收到不同的消息。这是一个很好的澄清! (2认同)

Aam*_*nah 15

虽然这which是检查程序是否安装的最常用方法,但它会告诉您程序仅在安装时才安装$PATH.因此,如果您的程序已安装,但由于$PATH任何原因未更新*,which将告诉您该程序未安装.

(*一个示例场景是从Bash更改为Zshell而~/.zshrc没有旧$PATH~/.bash_profile)

command -v foo是一个更好的选择which foo.command -v brew如果未安装Homebrew,则不输出任何内容

command -v brew
Run Code Online (Sandbox Code Playgroud)

这是一个示例脚本,用于检查是否安装了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
Run Code Online (Sandbox Code Playgroud)


小智 11

brew 安装的位置

which brew 
Run Code Online (Sandbox Code Playgroud)

homebrew安装的版本

brew --version
Run Code Online (Sandbox Code Playgroud)


Bup*_*ups 8

brew -v或者brew --version有诀窍!


小智 6

我只是在终端中键入brew -v(如果有),它将以安装的版本号响应。


小智 6

也许你的Mac没有收到路径

最终结果

运行下面的命令

eval "$(/opt/homebrew/bin/brew shellenv)"
Run Code Online (Sandbox Code Playgroud)

并运行检查该工作 brew help


bit*_*its 5

[ ! -f "`which brew`" ] && echo "not installed"
Run Code Online (Sandbox Code Playgroud)

说明:如果未安装brew,则运行命令&&