关于项目内模块引用的问题

新人弱弱的问个关于项目内模块引用的问题,看了几个开源的project,发现里面引用自己项目的模块也是通过 github.com/xxx 这种方式去引用的,想问下这种方式在开发的时候是需要将项目代码都组织到 src/github.com 下面么,这种方式和使用相对路径去引用模块的方法相比有什么好处么?

已邀请:

asdfsx

赞同来自: kenticny

多写一点吧。不一定都对。
golang 可以通过 go get ... 来获取依赖。所以,新建项目的名称最好是github.com/xxx/xxx。这样可以通过go get 直接下载你的项目。go get 到的项目会存放在$GOPATH/src/github.com/xxx/xxx下。
关于依赖,golang 最初设计的思路是所有的项目都存放在$GOPATH下。据说这是因为google的开发环境是基于统一代码树,不存在版本不一致等等等问题。结果就是你自己的项目,以及你项目的依赖都放在$GOPATH/src目录下。这个导致社区内产生了大量的依赖管理工具,因为不是所有的人都喜欢这样组织代码,而且还有版本冲突的问题。这些工具的一个普遍做法就是在项目内单独建一个目录来存放依赖。
1.5以后,golang 征求了社区意见以后,采用vendor机制来处理依赖。就是项目依赖的库存放在项目的vendor目录下。

asdfsx

赞同来自:

1.5 以后使用vendor来处理依赖的问题

要回复问题请先登录注册