$GOPATH must not be set to $GOROOT, why not?

Issue

I’ve installed Go on my Linux machine in /usr/local/go, and intended to use /usr/local/go/src for development. However when I try this I get the following error:

$GOPATH must not be set to $GOROOT

Effectively as I understand it, this means you shouldn’t use /usr/local/go for development. Why not?

Solution

Because /usr/local/go/src already contains the code for the standard library, and you should keep your own code separate from that.

I know, other development tools would have no problem with that, but Go is a little more strict in some ways. It’s probably the same philosophy that lies behind flagging unused variables or imports as errors – avoiding problems which may seem small at first, but can lead to bigger headaches in the future.

Answered By – rob74

Answer Checked By – Mary Flores (GoLangFix Volunteer)

Leave a Reply

Your email address will not be published.