我想在以下路径开始开发一个 go web 服务:
/dev/git/proj1/mygoservice/
/dev/git/proj1/railsapp/
如果我的路径是:
~/go
这将如何运作?我应该创建指向我的 git 存储库的符号链接(symbolic link)吗?
我想将我所有的子项目放在/dev/git/proj1 路径下。
最佳答案
如果您必须将您的资源保存在 /dev/git/proj1
中, 那么你确实需要一个从你的源代码到官方 GOPATH ~/go/src
的符号链接(symbolic link)(关于 workspace structure )。
而不是相反,来自 ~/go/src
到你的消息来源。
那是因为 go 工具不遵循符号链接(symbolic link),如 commented通过 JimB
( issue 15507 , issue 17451 )
所以:
cd /dev/git/proj1
mv mygoservice ~/go/mygoservice
ln -s ~/go/mygoservice
但是,如果您需要将 git 存储库推送到 GitHub 项目,那么最好使用正确的文件夹结构以使您的 Go 项目变得可获取,如“Import paths”所示:
mkdir -p ~/go/src/github.com/<auser>
cd /dev/git/proj1
mv mygoservice~/goo/src/github.com/<auser>
ln -s ~/go/src/github.com/<auser>/proj1/mygoservice /dev/git/proj1/mygoservice
这样,您将在您的 go 源代码中使用基于“github.com/<auser>/mygoservice
”的正确导入路径
关于git - 当 GOPATH 强制您将代码放入/go 文件夹时,如何将所有相关项目放在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47066068/