![]() |
1
springz 14 天前 ![]() homebrew 这种就类似滚动发行版,始终是保持最新的。你可以换一个确定性的,比如 Nix 对 macOS 支持也不错。
|
![]() |
3
yyfearth 14 天前
其实也不奇怪 你看 NodeJS 和 Python 那一大堆 keg 每个人的需求不太一样
不过 Homebrew 还是不会像 pip/uv/nvm/fnm 那样做多版本虚拟环境管理 始终是保持最新也是正常的 |
![]() |
4
yyfearth 14 天前
@xuegy homebrew 的构架一个包只能运行一个版本 其他就是 keg only
除非你能说服他们用一个不同的名字 比如 cmake3 不过大概率不行 而且就算不同名字了 其他依赖的工具链一样都不能用了 但是这也是没办法的事情 大版本更新了 你一直停在老版本也不是个办法 Homebrew 不是那种 deterministic 的包管理 可以处理多个版本的互相依赖问题 |
![]() |
5
springz 14 天前
发行版包管理本来就分滚动还是固定版本的,Linux 发行版也有两派,Debian/Ubuntu or ArchLinux ,HomeBrew 滚动策略是一点问题没有。
|
![]() |
6
springz 14 天前
如果有需求的话,HomeBrew 其实可以锁定版本,或者在 git 仓库找老版本的 rb 脚本手动装一下。
|
7
jjx 14 天前
别说 homebrew, macos 很多软件都这个德行
明明不支持当前版本了(这没有问题), 但它还是自动升级, 结果一升就挂了, 需要重新安装 |
![]() |
8
iorilu 14 天前
还是那句话, 只要能有, 别乱升级, 包括操作系统
|
![]() |
9
houshuu 14 天前
我是觉得挺好的,私下里就喜欢用新版本的,甚至有时候觉得 homebrew 跟随版本太慢,总得过两天。
公司或者固定版本的项目都是用的手动安装的固定版本,绑定在 homebrew 这种能自动更新的管理器上本身也是不可靠的。 |
10
ryants 14 天前 via iPhone ![]() 破坏性更新那也应该吐槽 cmake 而不是 homebrew 啊,人家要怎么做。万一有人有项目用到 4.0 的新特性,是不是又要发个帖子说卡在旧版本动不了。我就记得 archlinux 的一个版本的 clang 卡了好久,贼难受。软件版本管理一直是这样众口难调,有定制需求自己编译安装。
|
11
BlackSas 14 天前
我装 dotnet 也是一样,安装 dotnet 是最新的 9.0 。但 LTS 版本是 8.0 。
还好可以手动选择,卸载后安装 dotnet@8 就可以。 不知道 cmake 可不可以这样。 |
13
Alias4ck 14 天前
确实 别乱升级 上次 macos 升级直接电脑干蹦了 还好东西还在重装系统又给弄回来咯 再也不更新系统了 锁版本了
|
14
xuegy OP @ryants 所以才说他们魔怔啊,明知道 4.0 不向后兼容,强行升级会导致无数软件挂掉,就是要坚持自己那套哲学。既然 gcc 和 python 可以多个大版本共存,为什么 cmake 就不行?
|
![]() |
15
ericguo 14 天前
检查了一下我本地的 brew ,cmake 4.0.3 ,暂时没有看到影响,先这样吧。
总的来说,升级版本是不可避免的,cmake 升级到 4 ,的确应该是下游去适配的。 |
16
julyclyde 14 天前 ![]() 你赖着不升级,还要求全世界不进步来等你?
诛心一点反问你:是不是还在用 centos7 |
17
DefoliationM 14 天前 via Android
魔怔了?你不喜欢滚动发行你就不要用 brew 装这个包,你手动也能装呀,经典既要又要还要。
|
![]() |
18
webcape233 14 天前
@springz 一般是不带数字的始终跟随最新发布的版本,而会旧版本会带上数字
例如 python 是 3.13 ,额外有 python-3.12 python-3.11 这种 cmake 看了下只有个 cmake 了,不过需要的人应该提个 cmake3 的上去就是了 |
![]() |
19
webcape233 14 天前
@xuegy 可以提 pr 增加 cmake@3 吧,我看 python 一堆旧的版本 [email protected] 这种
|
20
lvlongxiang199 14 天前
我觉得 homebrew 干的没错....
需要特定版本的 cmake, 自个额外装一个呗..... |
![]() |
21
nbndco 14 天前 ![]() @xuegy 可以啊,不是说了么,cmake 官方承诺维护 3 到什么时候就可以加 cmake@3 到什么时候,因为 cmake 官方没有任何承诺,所以不再维护的就不能加进去了,有什么问题?
homebrew 没有组织你写自己的 tap 或者用别人的,并且直接给出了 brew extract 的解决方案。 全天下不按你的想法出牌就是魔怔了么 |
![]() |
22
cigarzh 14 天前 via iPhone ![]() 全世界都得围着你转呗
|
![]() |
23
HojiOShi 14 天前
又不是付费商业软件,开源免费软件开发者爱咋整咋整,不爽自己 Fork 一份维护。
|
24
w568w 14 天前
@springz #5 Arch 在重要的包大版本升级时,也会把旧包移动到 AUR: https://aur.archlinux.org/packages/cmake3-bin (这一点 Debian 和 Ubuntu 也一样),和滚不滚动发行其实关系不大。
我也认为 Homebrew 应该留个 cmake@3 或者 cmake3 啥的,或者提供方法让人去找旧版本的 ruby 脚本装 |
![]() |
25
totoro52 13 天前
cmake4.0 和 3.x 区别好大
|
26
MrKrabs 13 天前
你可以 just copy 一个 formulae
|
![]() |
27
wuruxu 13 天前 ![]() maintainer 的潜台词,就是爱用就用,不用滚
|
29
star9029 13 天前
典中典之在开发中滥用系统包管理,特别还是滚动发行版。
其实大部分包管理都是这样的,每天都会无意中 break 下游。就算包管理定期全部包都构建一次,依然顶不住这个复杂度,所以还是得专门学构建知识来维护使用的工具链和包。 |
![]() |
30
hugozach 13 天前
用容器啊 vscode 支持新建.devcontainer 来设置
简直就是神仙解决方案 |
![]() |
31
icyalala 13 天前 ![]() cmake 带来的破坏性变更,为什么不去骂 cmake ?
你去搜搜 cmake4 ,多少项目都被提 issues 说构建出问题的? 是 brew 折腾你还是 cmake 折腾你? 有人给我的库提 issue ,我为了兼容最新的 cmake4 和早期的 cmake3 ,和专门搞了好几个平台下载各个版本的 cmake 来测试,好一顿折腾。。。 |
![]() |
32
minami 13 天前
包管理都是这样子的,不出问题的时候都是好好好,牛逼,秒杀某个没有包管理的系统,出问题时候就变成自己是第一责任人了,这就是中心化的弊端
|
33
kingfire 13 天前
用 nix 吧,可以多版本共存,不担心这问题
|
![]() |
34
archean 13 天前
可以试试用 mise 来管理工具链
|
![]() |
35
duzhuo 13 天前
好家伙,你不能又 roll 又不 pin 啊 真危险
|
![]() |
36
SingeeKing 13 天前
建议试试 asdf ,很方便管理多版本工具链的情况
当然,也可以一步到位上 nix |
![]() |
37
bao3 13 天前
这个锅真的要怪 cmake 。而 homebrew 机制本来就是这样,它直接更新到 4.0 没什么不对,不保留 cmake 旧版本的理由也说得通。
homebrew 每次使用时,都会提示你如何关闭自动更新以及如何关掉 cleanup 。 其实背后是有原因的。
另外 homebrew 应该不是营利组织在做这件事,如果没收你钱,你也没有理由要求他们服从你,直白点就,一切要看人家的脸色,爱用就用,不爱用就滚,这一点问题也没有。 |
![]() |
38
rick13 13 天前 via iPhone
你又想更新又想不升级,上 nix
|
![]() |
39
zengxs 12 天前
这种问题,自己提个 pr 就能解决
homebrew 的 formula 都是志愿者写的,人家用不到 cmake 3 自然就不会去制作这个 formula maintainer 只是管理合并 pr 的而已,他没有义务帮你制作这个 formula |
40
james122333 12 天前 via Android
通常这时候都是自己改包会比较好 或 git 回推版本就好
而 homebrew 貌似没有类似 archlinux 下 provides 配置? 其实也不一定要用 homebrew |
41
james122333 12 天前 via Android
如果你不希望管理多版本又稳定 我推荐给你一个东西 netbsd pkgsrc
支持很多系统 以下是 mac 安装配置 https://pkgsrc.smartos.org/install-on-macos/ |
42
james122333 12 天前 via Android
可以安装以上工具 加入怪人阵营
|
43
guo4224 12 天前 via iPhone
@?
|
44
NessajCN 12 天前 ![]() 我进去看了这个 discussion ,人家 maintainer 说得挺好的,
既给了解决方案又解释了理念和原因,语气用词也很平和, 怎么就被扣了个魔怔的帽子? |
45
deplives 12 天前
不知道是谁魔怔了,这个锅不让 cmake 来背,让 homebrew 背
|
46
destinism 11 天前
可以自己提交旧版啊,surge 现在都还有 V4
|
![]() |
47
jjnox 11 天前
|
![]() |
48
jjnox 11 天前
|
![]() |
49
yinxs2003 11 天前
brew 感觉有些地方挺难用的。不升级系统就没法用了,可太奇葩了
|
50
CKylinMC 11 天前
cmake 通过大版本更新来推送破坏性改动这点我不知道有哪错了,反而是包管理器管理不好软件包版本才是最大的失职。homebrew 维护者似乎没能理解到版本冻结对于开发环境的重要性,搁那坚持来坚持去把自己当 Linus 了。
|