Issue
I am trying to install the mockgen package on go but keep receiving a permission denied without knowing why
$ go install github.com/golang/mock/mockgen@v1.6.0
go install github.com/golang/mock/mockgen: copying /tmp/go-build3889221292/b001/exe/a.out: open /home/nocnoc/go/bin/mockgen: permission denied
I have tried using sudo or executing it as root but I receive this error
sudo: go: command not found
My GOROOT is /usr/local/go and GOPATH is in my home directory, GO1111MODULE is also on
Any ideas? Everything else seems to run fine, only mockgen seems to fail to install
Solution
The issue was the permissions and owners of ~/go and ~/go/bin. It was solved by using the chown
command to change the owner of those two directories from root to my user
drwxr-xr-x 10 root root 4096 Aug 11 2020 go
to
drwxrwxr-x 10 nocnoc nocnoc 4096 Aug 11 2020 go
The permissions and owners of ~/go/bin are the same as those for the directory above
Answered By – nocnoc
Answer Checked By – Pedro (GoLangFix Volunteer)