Homebrew 的 maintainer 真的是有点魔怔了

97 天前
 xuegy
手滑 brew 更新了一把,结果 cmake 就挂了,一看直接大版本给干到了 4.0 。
某位正常思维的老哥试图让他们把 3.x 加回来,被 maintainer 一顿批评教育: https://github.com/orgs/Homebrew/discussions/6058
上一次类似的事情,就因为某个人提了一个稀奇古怪的 issue ,他们把 libomp 不声不响的变成 keg-only ,一堆科学计算软件都挂了。可能因为科学计算圈子太小,大家自己默默的重新适配了。
这帮人得是魔怔到什么程度才敢得罪全体码农折腾 cmake 这种基础工具?
7606 次点击
所在节点    程序员
49 条回复
springz
97 天前
homebrew 这种就类似滚动发行版,始终是保持最新的。你可以换一个确定性的,比如 Nix 对 macOS 支持也不错。
xuegy
97 天前
@springz 软件可以滚动,工具链可不兴滚动,起码应该保留上一个大版本。
yyfearth
97 天前
其实也不奇怪 你看 NodeJS 和 Python 那一大堆 keg 每个人的需求不太一样
不过 Homebrew 还是不会像 pip/uv/nvm/fnm 那样做多版本虚拟环境管理
始终是保持最新也是正常的
yyfearth
97 天前
@xuegy homebrew 的构架一个包只能运行一个版本 其他就是 keg only
除非你能说服他们用一个不同的名字 比如 cmake3 不过大概率不行
而且就算不同名字了 其他依赖的工具链一样都不能用了

但是这也是没办法的事情 大版本更新了 你一直停在老版本也不是个办法
Homebrew 不是那种 deterministic 的包管理 可以处理多个版本的互相依赖问题
springz
97 天前
发行版包管理本来就分滚动还是固定版本的,Linux 发行版也有两派,Debian/Ubuntu or ArchLinux ,HomeBrew 滚动策略是一点问题没有。
springz
97 天前
如果有需求的话,HomeBrew 其实可以锁定版本,或者在 git 仓库找老版本的 rb 脚本手动装一下。
jjx
97 天前
别说 homebrew, macos 很多软件都这个德行

明明不支持当前版本了(这没有问题), 但它还是自动升级, 结果一升就挂了, 需要重新安装
iorilu
97 天前
还是那句话, 只要能有, 别乱升级, 包括操作系统
houshuu
97 天前
我是觉得挺好的,私下里就喜欢用新版本的,甚至有时候觉得 homebrew 跟随版本太慢,总得过两天。
公司或者固定版本的项目都是用的手动安装的固定版本,绑定在 homebrew 这种能自动更新的管理器上本身也是不可靠的。
ryants
97 天前
破坏性更新那也应该吐槽 cmake 而不是 homebrew 啊,人家要怎么做。万一有人有项目用到 4.0 的新特性,是不是又要发个帖子说卡在旧版本动不了。我就记得 archlinux 的一个版本的 clang 卡了好久,贼难受。软件版本管理一直是这样众口难调,有定制需求自己编译安装。
BlackSas
97 天前
我装 dotnet 也是一样,安装 dotnet 是最新的 9.0 。但 LTS 版本是 8.0 。
还好可以手动选择,卸载后安装 dotnet@8 就可以。
不知道 cmake 可不可以这样。
xuegy
97 天前
@BlackSas 问题就在于很多人劝留一个 cmake@3 ,维护者就是不听还跟你辩经。
Alias4ck
97 天前
确实 别乱升级 上次 macos 升级直接电脑干蹦了 还好东西还在重装系统又给弄回来咯 再也不更新系统了 锁版本了
xuegy
97 天前
@ryants 所以才说他们魔怔啊,明知道 4.0 不向后兼容,强行升级会导致无数软件挂掉,就是要坚持自己那套哲学。既然 gcc 和 python 可以多个大版本共存,为什么 cmake 就不行?
ericguo
97 天前
检查了一下我本地的 brew ,cmake 4.0.3 ,暂时没有看到影响,先这样吧。

总的来说,升级版本是不可避免的,cmake 升级到 4 ,的确应该是下游去适配的。
julyclyde
97 天前
你赖着不升级,还要求全世界不进步来等你?

诛心一点反问你:是不是还在用 centos7
DefoliationM
97 天前
魔怔了?你不喜欢滚动发行你就不要用 brew 装这个包,你手动也能装呀,经典既要又要还要。
webcape233
97 天前
@springz 一般是不带数字的始终跟随最新发布的版本,而会旧版本会带上数字
例如 python 是 3.13 ,额外有 python-3.12 python-3.11 这种

cmake 看了下只有个 cmake 了,不过需要的人应该提个 cmake3 的上去就是了
webcape233
97 天前
@xuegy 可以提 pr 增加 cmake@3 吧,我看 python 一堆旧的版本 python@3.12 这种
lvlongxiang199
97 天前
我觉得 homebrew 干的没错....
需要特定版本的 cmake, 自个额外装一个呗.....

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

https://www.v2ex.com/t/1146247

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

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

© 2021 V2EX