Golang : Fix cannot download, $GOPATH not set error

For anyone exploring Golang and trying to get new packages from ... let say Github. One of the most common error message encounter by new comers is probably the cannot download, $GOPATH not set error message when attempting to execute the go get command.

For example :

go get github.com/go-sql-driver/mysql

will produce error message such as :

package github.com/go-sql-driver/mysql: cannot download, $GOPATH not set. For more details see: go help gopath

To fix this error message :

  • execute go env command to list out the all environment variables related to Go.

  • if GOPATH="" then you need to create a workspace and set GOPATH pointing to the workspace.

  • It is recommended to create a new empty directory to place all the downloaded codes

  • mkdir ~/gopath

  • export GOPATH=$HOME/gopath

  • Verify GOPATH is set by executing go env command again. GOPATH value should not be "".

  • try executing go get command again and it should not issue cannot download, $GOPATH NOT set error again.

At this stage it should be sufficient to get things moving again. However, you might want to save this into your bashrc file or equivalent so that GOPATH environment variable will persist even after reboot.

By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.