6

我最近开始使用 go 并计划为我的代码使用以下目录结构:(src/mycompany.com/project所以包名称将是mycompany.com/project/component),但是在代码审查期间,我的同事(之前使用 go)指出将代码放在src/github.com/mycompany/project(所以包名是github.com/mycompany/project/component)。

我可以理解这对于个人项目来说很方便,但是对于公司项目来说,这对我来说看起来很奇怪。为什么使用哪个源代码控制网站公司很重要?如果公司稍后决定迁移到 bitbucket 怎么办——是否应该将所有项目重构为以 . 开头的包名称bitbucket.org

绝对可以不使用github.comkubernetes的包名以 开头k8s.io/kubernetes,而 go book 的包名以 开头gopl.io(并且都使用 github)。

问题是:如果包名不以 开头,是否有任何警告github.com?例如,可能dep无法正常工作(go get seems to work fine)或其他?

mycompany.com/project另外:拥有包名并将源代码托管在 github 上的正确方法是什么?

4

1 回答 1

4

如果您将 Web 服务器设置mycompany.com为托管您的 Go 包,那么这种方法没有任何问题。

但是,如果这样做的唯一原因是拥有“虚荣”的包名,那可能就不值得了。

换句话说:您的包名称必须与其托管位置匹配。如果您使用 GitHub 来托管您的项目,github.com/mycompany/foo那么您的包名称 github.com/mycompany/foo-- 在这件事上别无选择。

如果您想在 GitHub 上托管您的软件但仍mycompany.com用作包名称,那么您可以mycompany.com使用GitHub pages功能将 GitHub 设置为托管 的网页。但是,如果您是一家成熟的公司,那么您可能已经将您的网站托管在其他地方,并且将托管移至 GitHub 不是一种选择。即使您还没有公司网站,也几乎没有理由为了 Go 软件包而这样做。

于 2018-04-15T07:03:52.867 回答