I am doing some Rails programming and I consistently see Homebrew referenced in solutions around the web but have never used it.
I also notice Homebrew in the terminal version 2.9 as an option next to "Shell -> New" from the terminal drop down but when I select homebrew and issue commands, they fail.
Usually with the "command not found" error.
Strangely enough I have been unable to locate a simple command to determine whether brew is installed or not.
How do I check to see if Homebrew is already installed on my Mac?
brew help
. If brew is there, you get output. If not, you get 'command not found'. If you need to check in a script, you can work out how to redirect output and check $?
.
- 2I executed "brew help"and got nothing. I decided to just go ahead with the install and now "brew help" returns results. Thanks. – Kmb40 Feb 5 '14 at 13:35
- 26
- 1paste it to your command: /usr/bin/ruby -e "$(curl -fsSL raw.githubusercontent.com/Homebrew/install/master/install)" – Djama Jun 30 '17 at 15:20
I use this to perform update or install:
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
The standard way of figuring out if something is installed is to use which
.
If Brew is installed.
>>> which brew
/usr/local/bin/brew
If Brew is not installed.
>>> which brew
brew not found
Note: The "not installed" message depends on your shell.
zsh
is shown above.bash
will just not print anything.csh
will saybrew: Command not found.
In the "installed" case, all shells will print the path.)
It works with all command line programs. Try which grep
or which python
. Since it tells you the program that you're running, it's helpful when debugging as well.
- I am not getting anything when i wrote which brew on my mac machine terminal – Chandni - Systematix Jan 25 '17 at 11:29
- 1Depending on which shell you use, you'll get different messages. That's a good clarification! – Liyan Chang Jan 27 '17 at 13:35
While which
is the most common way of checking if a program is installed, it will tell you a program is installed ONLY if it's in the $PATH
. So if your program is installed, but the $PATH
wasn't updated for whatever reason*, which
will tell you the program isn't installed.
(*One example scenario is changing from Bash to Zshell and ~/.zshrc
not having the old $PATH
from ~/.bash_profile
)
command -v foo
is a better alternative to which foo
. command -v brew
will output nothing if Homebrew is not installed
command -v brew
Here's a sample script to check if Homebrew is installed, install it if it isn't, update if it is.
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
- Very useful. Thanks for posting alternative to which and an explanation. – SoEzPz Sep 4 '18 at 17:14
I just type brew -v in terminal if you have it it will respond with the version number installed.
brew -v
or brew --version
does the trick!
- 1Please don't add "thank you" as an answer. Instead, vote up the answers that you find helpful. - From Review – Mark Rotteveel Aug 22 '20 at 10:01
[ ! -f "`which brew`" ] && echo "not installed"
Explaination: If brew is not installed run command after &&
Another one possible way:
# Check if Ninja is installed
if ! which ninja > /dev/null
then
echo 'Ninja installation...'
brew install ninja
fi
Once you install Homebrew, type command brew doctor in terminal.
If you get the following message:
Your system is ready to brew
then you are good to go and you have successfully installed homebrew.
If you get any warnings, you can try fixing it.
In my case 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)
Running Catalina 10.15.4 I ran the permissions command below to get brew to install
sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*
Yes you can run which brew
, but you may have it installed and it says it is not found if you are using zsh. You will need to add it to your .zshrc file.
I find it simple to use brew help command to find it is installed or not. There was a user guide on the homebrew download page.
If it is not installed then it will show 'command not found'
If you need to install homebrew then paste this on terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"