Go 环境版本管理用哪个- -有点疑惑

5 天前
 wispmagical

我现在了解下来有一堆版本管理

  1. GVM
  2. GOENV
  3. asdf

我问 GPT ,说 GVM 已经淘汰了。。。 真的是这样嘛- -有没有 go 大佬来推荐和讲解一下。。。有点迷

1869 次点击
所在节点    Go 编程语言
33 条回复
gongym
5 天前
go 不用版本管理吧
不是兼容的吗,无脑用最新的就行了
geminikingfall
5 天前
话说不是跟生产环境搞成一样的不就完事了吗?理论上不会有问题吧。
Jinvic
5 天前
vfox +1
用一个版本管理器管理所有语言挺方便的。
Binwalker
5 天前
mise 秒了,所有都用这个
craftsmanship
5 天前
mise
Reficul
5 天前
@gongym 兼容说是兼容,可这不是理想情况吗。

按照 Hyrum’s Law ,实际上你已经依赖了 Go 内部的非公开实现,而你永远不知道你的同事和你依赖的库有什么骚操作。这样的例子其实有很多:
1. 依赖反射和 unsafe ,这些库不保证行为兼容。unsafe 就不说了。reflect 更隐蔽,比如`reflect.DeepEqual` 的行为变过。你用高版本的 Go 去编译老版本不带修复的 K8s ,你会发现一堆 CR 提交不上去。
2. 依赖黑魔法注解,一堆库被 rcs 在 Go 源码里拉耻辱柱群,这些库多半你用过:containerd 、protobuf 、sonic ;有一些改了退群了,有一些一直还在。
3. 你依赖了 golang.org/x 下面的库,这玩意的版本很玄学,兼容性就更别说了。
Cusox
5 天前
mise
EricXuu
5 天前
之前好几个语言版本的管理器,全换 mise 了,好用
jqtmviyu
5 天前
mise, 因为还可以管理 node, python, uv 等.
rarpainting
4 天前
@Reficul 还以为你拿 cgo 举例,如果是这玩意的话的确一辈子都没有升级的希望了
但是你说的这些只是验证时间长度和方案选取的区别,另外升的越晚技术债积的越多
Reficul
4 天前
@rarpainting

是咯,越老越复杂的严肃项目,就越不敢动。。。
lysShub
2 天前
go 向下兼容的,开发业务不需要版本管理,直接安最新版
pike0002
1 天前
gvm 问题不大

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1172603

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX