Command not found go — on Mac after installing Go
MacosGoZshMacos Problem Overview
I installed go1.5.2 darwin/amd64, but when I run the command go version
, I get an error in the terminal zsh: command not found: go
.
I added the path export PATH=$PATH:/usr/local/go/bin
to the bash profile, but I still get the error (I restarted the terminal btw).
I uninstalled and reinstalled, but no luck.
Macos Solutions
Solution 1 - Macos
Like bjhaid mentioned in the comments above:
This is happening because you must add your PATH
to your ~/.zshrc
file.
in the ~/.zshrc
you should add the line:
export PATH=$PATH:/usr/local/go/bin
you should then source you .zshrc
file:
. ~/.zshrc
Solution 2 - Macos
I kept running into issues and followed the steps on here and finally got a working solution: http://totzyuta.github.io/blog/2015/06/21/installing-go-by-homebrew-on-mac-os-x/
Install w/brew:
brew install golang
Edit bash_profile and add following paths:
nano ~/.bash_profile
export GOROOT=/usr/local/opt/go/libexec
export GOPATH=$HOME/.go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Source it:
source ~/.bash_profile
Then restart terminal
go version
Output: go version go1.12 darwin/amd64
Solution 3 - Macos
For bash, you should edit the .bashrc
file and add the abobe mentioned line:
export PATH=$PATH:/usr/local/go/bin
Solution 4 - Macos
Add the following line to ~/.bashrc
or ~/.bash_profile
file at the end on your Mac
alias go="/usr/local/go/bin/go"
And in the Terminal
source ~/.bashrc
or source ~/.bash_profile
in an existing terminal session. Or to see the new changes you can also re-open a new terminal session.
Solution 5 - Macos
This is what i did on my mac:
opened the file ~/.zshrc
using
sudo nano ~/.zshrc
then pasted
export PATH=$PATH:/usr/local/go/bin
save and exit(ctrl + s, ctrl + x then press y)
then ran
. ~/.zshrc
go was up and running,
verified by typing just go in command line.
Solution 6 - Macos
Add Go PATH to your ~/.zshrc file. Open file to edit as -
vim ~/.zshrc
in the ~/.zshrc you should add the line:
export PATH=$PATH:/usr/local/go/bin
Once done, close and reopen terminal and you are good to go. For test, you can do -
go version
It will show output something like -
go version go1.15.1 darwin/amd64
Solution 7 - Macos
The GOPATH
environment variable specifies the location of your workspace. If no GOPATH
is set, it is assumed to be $HOME/go
on Unix systems and %USERPROFILE%\go
on Windows. If you want to use a custom location as your workspace, you can set the GOPATH
environment variable.
This answer explains how to set this variable on various Unix systems.
GOPATH
can be any directory on your system. In Unix examples, we will set it to $HOME/go
(the default since Go 1.8). Note that GOPATH
must not be on the same path as your Go installation. Another common setup is to set GOPATH=$HOME
.
Go 1.13+
go env -w GOPATH=$HOME/go
Bash
Edit your ~/.bash_profile
to add the following line:
export GOPATH=$HOME/go
Save and exit your editor. Then, source your ~/.bash_profile
.
source ~/.bash_profile
Zsh
Edit your ~/.zshrc
file to add the following line:
export GOPATH=$HOME/go
Save and exit your editor. Then, source your ~/.zshrc
.
source ~/.zshrc
fish
set -x -U GOPATH $HOME/go
The -x
is used to specify that this variable should be exported
and the -U
makes this a universal variable, available to all sessions and
persistent.
Solution 8 - Macos
In my case I was not having ~/.zshrc
profile file. Followed below steps to make it work.
Mac os version : Mojave (10.14.6)
Go version : go1.13.1 darwin
/amd64
Reference link : https://www.cyberciti.biz/faq/installing-go-programming-language-on-mac-os-x/
As mentioned in link, when i was executing "go env" command, it was throwing error "go command not found". Adding "export PATH=$PATH:/usr/local/go/bin" in "~/.bashrc
" profile file didn't do any magic!!
step 1 : Create .zshrc
profile under home path.
$ cd /User/xxxx
(Eg : /User/tapan
)
$ touch .zshrc
step 2 : append 'PATH' with go in .zshrc
file.
$ vim .zshrc
$ export PATH=$PATH:/usr/local/go/bin
step 3 : source your .zshrc
file
$ source ~/.zshrc
step 4 : execute "go env" command, you should be able to see local environment details.
$ go env