git - 当 GOPATH 强制您将代码放入/go 文件夹时,如何将所有相关项目放在一起

标签 git go

我想在以下路径开始开发一个 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/

相关文章:

git - git diff 可以包括最新的作者和修订日期吗?

go - 运行测试时无效的内存地址或 nil 指针取消引用

swift - 从 Storyboard 创建 Swift 代码

git - 摆脱多个 Bamboo 构建计划

github新手: clone doesn't seem to have gotten me the right files

git - 从 master 重新建立子分支

go - 当项目具有内部依赖性时,bazel golang 构建失败

jquery - 如何在使用 jquery 表单提交时从 golang 重定向到另一个模板?

go - 是否可以从 channel ch 读取 len(ch) 消息?

arrays - 为什么在使用 base64 编码字节数组时会出现 "index out of range"错误?