165
➜  ~ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-e:77: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040677
It appears Homebrew is already installed. If your intent is to reinstall you
should do the following before running this installer again:
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
The current contents of /usr/local are bin CODEOFCONDUCT.md etc git lib Library LICENSE.txt munki README.md sbin share .git .github .gitignore
➜  ~ brew install maven
zsh: command not found: brew
pkamb
  • 30,595
  • 22
  • 143
  • 179
Elad Benda2
  • 11,551
  • 28
  • 75
  • 141

27 Answers27

298

I had a similar issue on macOS Big Sur (11.0.1). In my case homebrew was saved in /opt/homebrew/, and not in /usr/local/....

So I added

export PATH=/opt/homebrew/bin:$PATH

to .zshrc file in my home directory, and the ZSH shell was able to find the brew command.

Spindizzy
  • 4,460
  • 1
  • 17
  • 28
  • 3
    `export PATH=/opt/homebrew/bin:$PATH` it helps, but how did you know that you have it there? and `$PATH` does this mean a new folder? I get this steps in terminal: ```Add Homebrew to your PATH in /Users/admin/.zprofile: echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/admin/.zprofile eval $(/opt/homebrew/bin/brew shellenv) ``` – Morozov Jan 20 '21 at 22:44
  • 1
    The path was shown in the terminal after Homebrew was done with the installation on my machine. '$PATH' just means that this new path will be added to the variable called PATH, known by the zsh shell. However this syntax is standard for bash. – Spindizzy Jan 26 '21 at 13:18
  • 2
    hi where could I find `.zshrc` or that so called home directory? thank you – Stacks Queue Apr 28 '21 at 07:40
  • 3
    Either open a complete new terminal, you should start in the home directory, or if you somewhere in another directory, you can find it by entering `cd ~`. – Spindizzy Apr 28 '21 at 17:15
  • That was the exact problem for me. My homerbew was installed in /opt/homebrew and not in /usrl/local – benz Sep 04 '21 at 05:48
  • Quick tip, use `source ~/.zshrc` to make any changes to that file come into effect. Else, close and re-open your terminal. – Davey Oct 26 '21 at 09:25
  • 1
    If you are missing the file `.zshrc` in home `~` (e.g there is only `zsh_sessions` and `zsh_history`) simply create that file (`touch .zshrc`) and paste suggested export. – Sebastian Voráč Oct 31 '21 at 17:34
  • This resolved my issue, thanks a ton man! – Deepak Pathak Nov 17 '21 at 10:50
  • Down in answers I demonstrated @Spindizzy `answer step-by-step terminally speaking` – Sebastian Voráč Apr 12 '22 at 15:46
246

for this error zsh: command not found: brew

  1. Make sure you've installed Brew, with this (wait until its done installing) (Edit: added ending quote to the end)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Then follow NEXT STEPS shown on command line, it should show something like this
==> Next steps:
- Add Homebrew to your PATH in /Users/$USER/.zprofile:
    echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/$USER/.zprofile
    eval $(/opt/homebrew/bin/brew shellenv)
  1. Copy and paste the first line on the same terminal window, then hit enter
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/$USER/.zprofile
  1. Then Copy and paste the last line on the same terminal window, then hit enter
eval $(/opt/homebrew/bin/brew shellenv)

Finally you should be able to use brew help and if that works, it means that brew was installed properly and running from ZSH.

nolanjacobson
  • 155
  • 1
  • 8
Jonathan Sanchez
  • 4,331
  • 1
  • 20
  • 18
  • 1
    This Works in Ubuntu 21.04 with linuxbrew, after thar, don't forget to signout or restart. thanks brother for this. for linux user. use this "eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" and add this to ~/.zprofile – Alauddin Afif Cassandra Mar 29 '21 at 04:22
  • This is exactly what I had to do and what it told me to do, but I refrained from pasting those commands as they showed up only on my machine on running the install command from their official website for HomeBrew installation, while it didn't have a second step in the installation process on my friend's machine as new as mine (A day old). haha my bad. If anyone else went down the same route, I feel ya! And, this answer literally told me: "Do what you read in the console output of your terminal. Don't question. It at the least won't turn a time bomb on" Thanks @Jonathan Sanchez – Abhay Nagaraj Jun 24 '21 at 04:27
  • 4
    after running these commands it works fine, but when I close the the terminal and reopen it says ```-bash: brew: command not found``` – Keval Jul 09 '21 at 12:18
  • 1
    For me on a Mac, after running step 1, I'm able to use brew to install node ```brew install node``` – notClickBait Aug 28 '21 at 04:48
  • appreciate you! – Gcamara14 Dec 05 '21 at 09:35
  • Still worked for me at May 2020. – Mbotet May 09 '22 at 16:13
55

Homebrew has been installed on you computer. You need to modify your PATH like this:

export PATH=/usr/local/bin:$PATH

or execute brew from its origin:

/usr/local/bin/brew install maven
Hamid Rouhani
  • 1,936
  • 2
  • 28
  • 43
  • 4
    just to complement: to make that change to PATH a *permanent* one, you should insert that `export ...` command into your local `~/.zshrc` – superjos Jan 23 '19 at 11:10
  • 2
    The `.zshrc` should already have this line in it and you would just need to remove the `#` to uncomment and restart your shell. – Sirius_B Feb 11 '20 at 22:09
39

Here are the steps I did...

1.Install homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2.Run brew help and see if it's working... If it showing an error "zsh: command not found: brew" follow along.

  1. Change the path to:
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/"YOUR USER NAME"/.zprofile

Remember to change the "USER NAME" with yours, Then type in:

eval $(/opt/homebrew/bin/brew shellenv)

Once successfully running these command type "brew help" to see if everything went ok.

Savyo Relavio
  • 391
  • 3
  • 5
20

I got the same issue after installing Homebrew in my MacBook (macOS Big Sur V 11.0.1).

After installation, in the console it says what should be done:

==> Next steps:
- Add Homebrew to your PATH in /Users/USER/.zprofile:
  echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/USER/.zprofile
  eval $(/opt/homebrew/bin/brew shellenv)
- Run `brew help` to get started

Executing those two commands, in order, will add the brew command into the PATH:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/USER/.zprofile

eval "$(/opt/homebrew/bin/brew shellenv)"
pkamb
  • 30,595
  • 22
  • 143
  • 179
samme4life
  • 889
  • 2
  • 7
  • 14
14

Just add export PATH=/opt/homebrew/bin:$PATH in your home directory

Restart if needed or just reopen your terminal

Gyanaa-Vaibhav
  • 141
  • 1
  • 3
12

Update 2022

export PATH="/opt/homebrew/bin:$PATH"
Sras
  • 795
  • 1
  • 12
  • 23
8

make sure install brew first

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Yao Li
  • 1,791
  • 1
  • 22
  • 23
8

I will just demonstrate the answer from @Spindizzy terminally speaking:

cd ~ | ls -a
touch .zshrc // if file .zshrc doesn't exists we create it
vim .zshrc

Paste PATH=/opt/homebrew/bin:$PATH there, save file and restart terminal.

Vim helper:

1. press "i" to interactive mode in vim, paste:
export PATH=/opt/homebrew/bin:$PATH
2. press "esc" type ":wq" and hit enter
Sebastian Voráč
  • 1,611
  • 13
  • 12
8

edit .zshrc

nano .zshrc

add

export PATH=/opt/homebrew/bin:$PATH

run:

source ~/.zshrc 
Jatniel
  • 532
  • 2
  • 10
  • 15
5

In fish shell on Apple M1, I had to add /opt/homebrew/bin to the fish_user_paths global env. I had to do this manually because set -U fish_user_paths /opt/homebrew/bin $fish_user_paths got

set: Universal variable 'fish_user_paths' is shadowed by the global variable of the same name.

mmell
  • 2,398
  • 1
  • 23
  • 15
5

Basically your homebrew is saved in /opt/homebrew/, and not in /usr/local/.... path

Open .bash_profile in your home directory and add :

export PATH=/opt/homebrew/bin:$PATH

and restart the terminal. You will have it up and running.

Anubhav
  • 1,676
  • 20
  • 14
4

This morning i too faced the same issue. The problem is path for homebrew is not set correctly.

Follow below steps

1.install homebrew correctly. In the terminal type below cmd.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  1. set the path in your .zshrc file in terminal type

    open ~/.zshrc

    In .zshrc file add the path like below

    export PATH="/usr/local/bin:$PATH"

  2. In terminal type source ~/.zshrc

    and your done.

Aniket
  • 679
  • 1
  • 8
  • 14
3

may be you have followed this step from homebrew homepage.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

so may your system not able to allocate path so follow below steps.

sudo nano /etc/paths

paste

/opt/homebrew/bin:$PATH

save and close

Amit Kumar
  • 939
  • 9
  • 6
3

In my case, I added the following line to ~/.zshrc

eval "$(/opt/homebrew/bin/brew shellenv)"
SomeCode.NET
  • 877
  • 12
  • 31
2

Go to the official Homebrew site.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Next steps:

test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile

Try: brew install hello

msoler
  • 2,880
  • 2
  • 17
  • 30
Merci Gkm
  • 56
  • 3
2

When installing, brew has this -NEXT STEPS console log when is needed to include its path to bash.

run the followed steps:

`echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/YOUR_USER/.zprofile`

`eval "$(/opt/homebrew/bin/brew shellenv)"`
Rafo
  • 99
  • 1
  • 8
1

If you're on WSL2 make sure to follow the final linux installation instructions for linuxbrew.

test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
Ben Murdoch
  • 101
  • 1
  • 5
  • For me, even following the installation instructions, it was not sufficient. Every time I restart my terminal, I got brew was not found. What I did is $ touch .bash_profile, then $ cp .profile .bash_profile and restart WSL2. That's how I solve my issues. – José Pulido Oct 01 '21 at 21:28
1

Since you're using zsh, you need to add the PATH to your .zshrc file:

vim ~/.zshrc

Add:

export BREW_HOME="/home/linuxbrew/.linuxbrew/bin"
export PATH="$PATH:$BREW_HOME"
outerSpace
  • 87
  • 3
0

I had the same issue with Ubuntu and Arch Linux. I solved this problem by adding the path of the bin folder of brew to the .zshrc file.

The path to my brew installation bin directory is /home/linuxbrew/.linuxbrew/bin

Add following line to the ~/.zshrc file
export PATH=/home/linuxbrew/.linuxbrew/bin:$PATH

After this do open a new terminal and the brew command will not be available.

Ankush Chavan
  • 755
  • 1
  • 4
  • 13
0

I just did echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.zshrc as I'm using oh-my-zsh. After doing this should be able to use brew.

Chuang JY
  • 21
  • 2
0

To your .zshrc file, add the path to your homebrew/bin, wherever that might be. In my case, homebrew was installed in my home directory. Add:

export PATH="/<path-to-homebrew-directory>/bin:$PATH"

Restart your terminal for it to pick up the changes to your .zshrc

ssareen
  • 206
  • 2
  • 5
0

I tried the above method export PATH=/opt/homebrew/bin:$PATH But it didnt work.

So i did my research and realized that the above code works for Apple chip Mac and not for intel chip Mac.

So i made an edit to the code since my Mac is intel based and i did this which worked perfectly:

  1. In your finder, open/edit the .zshrc file or create one if you cannot find it.

  2. paste this code:

export PATH=/usr/local/homebrew/bin:$PATH

It will work!!!

-1

might be late, but surely helpful. you have to install brew on first thing. just run the below command to do that:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
-1

Run the following setup then you will be ready to use brew

Run unintsall script :-

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

Set Git Compression :- git config --global core.compression 0

Set Git buffer size :- git config --global http.postBuffer 1048576000

Run installation script :- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

-1

You should add both /opt/homebrew/bin and /opt/homebrew/sbin to $PATH env.

export PATH=/opt/homebrew/bin:/opt/homebrew/sbin:$PATH

for quick, run command

echo export PATH=$PATH:/opt/homebrew/bin:/opt/homebrew/sbin >> ~/.zshrc

then run brew doctor to checking

Patrickz
  • 452
  • 4
  • 11
-1

Solution for Ubuntu 20.04

  1. After installing brew with:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  2. and ran what it says after (this did nothing for me just added lines to .zprofile every time i ran it):

    echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/blcuser/.zprofile

    eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

  3. BEFORE closing that terminal copy the output of:

    echo $PATH

  4. Should be similar to this:

/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

What we need is the path to brew which is this part of the previews path (for you might be a different path)

/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin

  1. Open NEW terminal and try to build the whole first path with:

Should be like: <brew_path>:$PATH

For me was this: echo /home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH

Should output the first whole path we output on 4.

  1. Open .zshrc file (mine is on home hidden file)

  2. At the beginning of the .zshrc file add what we build on 5.:

    export PATH=/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH

  3. Save and restart terminals

  4. Check that is working with:

    brew doctor

You should be set and brew should be started always with new terminals by default.