要下班了,摸一会儿鱼。
想到一个问题就是如果把 vendor 目录纳入 git 管理,但是如果在 windows 下和 linux 下同时进行开发,用的 go sdk 都是不一样的,go mod vendor 好像就有问题。
|      1mooyo      241 天前  1 五年前就不用 vendor 了吧,老项目吗? | 
|  |      2Cannian      241 天前  1 现在都用 mod 了,老项目才用 vendor | 
|  |      3Nazz      241 天前  1 我现在用 go mod tidy 了, 以前喜欢 vendor | 
|  |      5lasuar      241 天前  1 只有当你用到了那种私有库、临时库,担心引用的库未来可能消失 的时候才会用 vendor 。不过开发时也不好用,比如下载了新库时,直接在 IDE 中输入是不能自动识别的(纯 mod 模式就可以)。现在我都不用 vendor 了,如果有那种比较重要的库,干脆直接 down 下来放本地的 internal pkg 。 | 
|      6Cheivin      241 天前  1 如果你用私有库还要把代码跟项目 git 一起,用 go mod 然后 repace 路径吧 | 
|  |      8Trim21      241 天前  1 > 但是如果在 windows 下和 linux 下同时进行开发,用的 go sdk 都是不一样的,go mod vendor 好像就有问题 会有啥问题? go mod vendor 会选择只 vendor _linux 文件或者 _windows 文件然后忽略另一个吗? | 
|      9icy37785      241 天前 via iPhone  1 vendor 是坏文明,vendor 的正确使用姿势就是不用。 | 
|  |      10sardina      241 天前  1 https://github.com/goproxy/goproxy 内网搭建一个 goproxy | 
|  |      11stormtrooperx5      241 天前  1 咋这么多人不用 vendor ?镜像打包速度快很多啊 | 
|  |      12iyaozhen      241 天前  1 99%场景不需要 go mod vendor 现在唯一用 vendor 的地方,是要打 go 插件,而且也不把 vendor 提交到 git ,而是 CI 环境固定 go 版本(宿主要和插件一模一样版本号),执行 go mod vendor 后再 build | 
|      13HappyAndSmile      240 天前 @stormtrooperx5 自己搭一个 go mod proxy ,为什么会需要 vendor ?为什么会慢? | 
|  |      15arcfya      240 天前  1 除非特殊环境一定不允许开 go mod proxy (比如各种政府国企单位),不然不推荐使用 vendor 。 vendor 在不同 go sdk 下确实可能有问题,比如 go 的那几个 crypto 库,我就遇到过 sdk 不兼容的问题 | 
|  |      16stormtrooperx5      240 天前 @HappyAndSmile 依赖库多了再怎么自建 proxy 也比不上直接读本地快 | 
|      17zgh123      240 天前 如果旧项目采用的 vendor ,如何升级把 vendor 目录从 git 中去除呢? | 
|  |      18lasuar      240 天前 @zgh123 #17 你这个问题直接 kimi 可以解决,我就不贴答案了。问题是“采用 vendor 模式的 go 项目中,如何升级把 vendor 目录从 git 中去除。注意,vendor 内可能有已经失效的远程库,此时如何区分”。 解决的关键是在本地新建 xvendor 目录存放失效的远程库,然后在 go.mod 文件中使用 replace 语法帮助 go 定位这些库。 | 
|  |      19to2false      239 天前 vendor 放进 git ,我就有个问题,是不考虑 code review 吗 | 
|  |      20stormtrooperx5      239 天前 @to2false 自动排除 vendor 目录,这不就一行脚本的事 | 
|  |      21to2false      238 天前 @stormtrooperx5 题主的意思不是想把 vendor 带进 git 提交里吗?那不爆炸 | 
|  |      22stormtrooperx5      238 天前 @to2false code review 的时候自动排除 vendor 目录,和把 vendor 带进 git ,这两个操作冲突吗?我们有个项目加上 vendor 200w 行代码,一直这样管理的。开发效率很快,打包只要 2 分钟,从推送代码到滚动部署完也就五分钟 | 
|  |      23to2false      238 天前 | 
|  |      24stormtrooperx5      238 天前  1 @to2false 我不知道什么公司用 github 托管代码,这也太抽象了。在 gitlab 上很好设置 https://docs.gitlab.com/user/project/merge_requests/changes/#collapse-generated-files | 
|  |      25douz OP @stormtrooperx5 #24 学到了 |