Go: 提案:在 GOPATH 中支持“符号链接”

创建于 2016-05-02  ·  3评论  ·  资料来源: golang/go

https://github.com/golang/go/issues/15201#issuecomment -208602586 的背面

我们提出了一种方法,通过该方法 cmd/go 和朋友利用常规文件以与平台无关的方式在 GOPATH 包解析期间模拟存储库中的类似符号链接的行为

https://docs.google.com/document/d/1n5y3mZPs_4PjI80a0vZEaHLe7r9PeiiE9xsIrQFT8Is/edit

感谢@kardianos离线分享他的初步想法

_“符号链接”这个名称本身必然会引发一场很好的讨论:我希望我们可以将名称/命名与提案的症结分开讨论_

FrozenDueToAge Proposal

所有3条评论

一些评论/问题:

  • 未定义术语“存储库”。 如果 GOPATH 中的源代码不是来自 VSC 或来自支持签出目录的 Subversion 怎么办?
  • 如果存储库包含多个公共二进制文件,则无需多次复制依赖项。 vendored 依赖项可以放在 cmd/vendor 下。
  • 据我所知,这个提议并没有解决“库和程序在同一个存储库中”的问题。

@kostya-sh

未定义术语“存储库”

第一个脚注提供了详细信息 - 它与此处假设的定义相同。 但我同意问题仍然存在,“存储库”是否在某处正式定义?

如果 GOPATH 中的源代码不是来自 VSC 或来自支持签出目录的 Subversion 怎么办?

开放式问题 - 我承认到目前为止唯一的考虑是作为“存储库”一部分的代码。 我在底部添加了一个“开放式问题”部分,引用了这个问题。

如果存储库包含多个公共二进制文件,则无需多次复制依赖项。 vendored 依赖项可以放在 cmd/vendor 下

实际上,这是在二进制文件之间共享供应商代码的一种方法。 但是“符号链接”方法有助于促进与库代码共享“供应商”的方法(见下一点)

据我所知,这个提议并没有解决“库和程序在同一个存储库中”的问题。

这个提议本身没有,不。 但是从“激励示例”部分链接到的存储库概述了如何通过结合使用“符号链接”和 GOPATH 扩充来解决该问题。

符号链接太有问题了。 允许他们这样做似乎是不明智的。

此页面是否有帮助?
0 / 5 - 0 等级