以前使用GOPATH时项目目录结构如下
```go
root
|_app
| |_业务代码
|_gopath
|_src
|_依赖库
```
此时是将所有代码都提交到git上,包括go安装包和三方库以及业务代码。
因为有时候需要修改三方库,所以直接改代码提交就可以,如果需要更新三方库,
则拉取下来做一次合并然后提交到我们的代码库。
现在想用go mod,三方库会下载到pkg目录,也有版本号的概念,虽然方便很多。
如果不修改三方库可以团队每个研发都用go mod拉取相同版本就行。
但是如果需要修改三方库,那么肯定需要内部有一份代码提交到我们的git上。
**`我的问题是`:如何管理好这些需要被修改的三方库,如果使用replace的话,三方库里面的go.mod文件是不是也要跟着改?**
**有没有大佬有好的方案,可以给小弟说说么?**
**搜了一些方案,说可以fork,然后修改fork的代码,项目中依赖fork的就行,**
**但是我希望能有一个方案把所有代码都整合到统一的目录下面去管理,大神们,来教教我吧,非常感谢。**
**如果使用vendor,那感觉还没有gopath好用额。因为我们是一个进程为一个目录,如果用vendor的话,**
**每个进程都有一个自己的vendor,还不如之前统一的gopath好使额。**
更多评论
三方库就是大佬们的开源项目额,内部公共库肯定用replace指定相对路径好些额。
道理是这个道理,我就是想把所有代码都放到同一个目录下面方便管理。如果是fork的话,等于开发项目用一个仓库,三方库用另一个仓库,分开管理有好处也有不好吧。如果是这样的话,项目内部公共库也搞一个仓库也可以额。
#2