这对我的最后一个问题有一个跟进:
golang: installing packages in a local directory
我将GOPATH设置为$HOME / prog / go / gopath,此路径存在三个目录:
~/prog/go/gopath$ls bin pkg src
现在我试着安装一个要求我运行的module to access the redis database
go install
在源目录中.但是命令去安装给我
~/prog/go/gopath/src/redis (go1)$go install go install flag: open /usr/local/go/pkg/darwin_amd64/flag.a: permission denied ~/prog/go/gopath/src/redis (go1)$echo $GOPATH <myhomedir>/prog/go/gopath
(其中< myhomedir>是有效路径)
问题1:为什么安装不需要$GOPATH?
问题2:如何说服安装使用$GOPATH?
不知道你如何设置,但它可能需要从std库构建包,但不能由于权限.你可以试试
cd /usr/local/go/src sudo ./all.bash
这应该构建std库并运行测试以确保一切正常.
根据需要确保您具有从$GOROOT读取和执行的适当权限.个人来说,我只需从golang.org下载档案,并将其保存在〜/ local / go下,并适当地设置GOROOT.