这是我最后一个问题的后续: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
在源目录中。但是命令 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:为什么 go install
不拍$GOPATH
考虑到?
问题2:如何说服go install
使用 $GOPATH
?
最佳答案
不确定您的设置方式,但它可能需要从 std 库构建包但由于权限而不能。你可以试试
cd /usr/local/go/src
sudo ./all.bash
这应该构建标准库并运行测试以确保一切正常。
确保您有适当的权限在必要时从 $GOROOT 读取和执行。就我个人而言,我只是从 golang.org 下载存档并将其保存在 ~/local/go 下并适本地设置 GOROOT。
关于installation - golang : go install tries/usr/local instead of GOPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12518374/