$ GOPATH的好位置在哪里?

egg*_*rtx 4 go

我正在研究Go中的一个项目,它需要几个外部库,比如MySQL驱动程序,图像处理库等.现在,我已经$GOPATH设置为/ usr/lib/go/src,它将任何下载的包放入/ usr/lib/go/src/src,这显然不对.如果我设置$GOPATH为/ usr/lib/go,我会收到一条错误消息,指出$GOPATH无法将其设置为同一目录$GOROOT.所以我应该放入GOPATH=/path/to/my/project/lib我的build.sh,当我提交我的git repo时,把lib /放在我的.gitignore中?

我意识到这可能是一个愚蠢的问题.它现在工作正常,我只是想知道这是不好的做法.

Ver*_*ran 8

只要编译器知道在哪里找到它,$ GOPATH就可以是您选择的任何位置(除了少数例外).如果您更改它,请确保使用更新路径

export GOPATH=/path/to/gopath

我个人的偏好是保持$ GOPATH与我的代码分开,除非我正在编写一个意图通过导入的包go get <repo path>,在这种情况下我将编写代码

$GOPATH/src/<repo path>

这是您使用时存储包的标准位置 go get <repo path>

  • 在编写公共代码时我发现的另一件事是将符号链接从〜/ proj转换为$ GOPATH/src/<repo-path>,这样可以更容易地在shell中跳转. (2认同)