homebrew 很难用吗

2019-06-22 12:03:57 +08:00
 sunriz
正打算入个 mac ,但是了解到 homebrew 很难用,没有下载镜像,没有比较好的包依赖管理。。我原想的是用 OSX 代替 linux+日常使用软件(如微信,office 这些,在 linux 下用 wine 太卡,win 子系统又有很多限制)。目前这么看不能达到预期?
11338 次点击
所在节点    macOS
68 条回复
VD
2019-06-23 12:11:45 +08:00
洁癖症患者表示,homebrew 不叫包管理,依赖处理并不好,卸载某个包的时候,依赖包居然不能自动卸载。
相比几个流行的 linux 发行版的包管理来说,homebrew 确实弱了不止一点。
VD
2019-06-23 12:17:28 +08:00
说 homebrew 好用的,应该是因为 MacOS 下没有优秀的包管理器,向下比较,homebrew 相对而言在 MacOS 下属于最好用的...
palxex
2019-06-23 15:24:11 +08:00
@VD macOS 下有 linux 下几乎所有包管理器的移植,包括但不仅限于 apt-get,pacman,portage。但这些没有一个击败 homebrew,反而是其移植 linuxbrew 进入了 linux 的自留地。这至少应该说明是用户选择过了,而不是没有选择的结果。
包管理器设计上经过了一个从简单到复杂到再简单的过程,早期 rpm/yum 的依赖地狱用过的人都知道怎么样;即使是大大改善的 apt-get,相信被依赖折磨过的也不在少数; pacman 选择 bleeding edge,依赖问题大大减少,代价是时不时滚炸; portage 以极强的定制能力( EUSE )著称,智商不够的用户就 emmmm。homebrew 出现在“再简单”这一端,尽量用最新的包,ABI 紧跟当前系统以避免滚炸,尽可能利用文件系统本身的特性,不用集中数据库(哪怕是文本的);这些选择更 KISS,更健壮(至少我从未碰到过抱怨 homebrew 装东西给依赖搞疯的,也没见过滚炸的;不用 option 有预编译,想指定也能自己编译,而且都能自动执行),但也从根本上抹煞了「用户自己要装的包」和「被依赖安装上的包」的区别,从而使得依赖包卸载成为不可能。但这不妨碍我觉得这些选择是 reasonable 的,毕竟子他老人家曰过,两害相权取其轻。
Bardon
2019-06-23 19:17:55 +08:00
@palxex 举个最简单的例子,通过 homebrew 来安装 mpv,有预编译版,其中一个依赖是 ffmpeg,然后一大堆依赖包进入。随后,洁癖症犯了,想通过 caskroom 来安装 mpv,然后面对一堆遗留的依赖包就茫然了。

有一点你说的对,用户选择的结果,只不过我倾向于那些 win 转移过来用户的选择,对于尝试过 arch 的 abs,gentoo 的 portage 的用户来说,homebrew 这种,真的属于很初级的阶段,完全没办法随心所欲的使用。

譬如我,了解 homebrew 的缺陷后,app 包的选择,我都尽量选择 caskroom 中的 bin 包。homebrew 只安装几个基础的工具,更甚至,在忍无可忍的时候,我宁愿起一个容器去跑...
lrvy
2019-06-23 20:03:49 +08:00
@Bardon #64 brew rmtree 可以解决一部分残留依赖的问题
oIMOo
2019-06-24 16:42:44 +08:00
好奇 “难用” 的来源
pmispig
2019-06-24 17:22:08 +08:00
我用的 macports
lijixi
2019-06-24 21:19:39 +08:00
先说结论:homebrew 确实不好用!

1. 不出国,速度极慢,甚至执行失败。说换国内源的就能解决问题的,你们八成没真正地这么干过。知道什么叫国内源和国外源不同步吗?一次就能把 brew 弄得乱七八糟。

2. brew cask 简直就更差劲了。更新速度极慢就不说了。看看那些 egg 里面的下载地址,好多都不是官方网站。就算把病毒地址写进去,也没人管!

3. 就是因为 MacOS 下没有官方的包管理系统,homebrew 顶多算是“矬子里拔将军”,凑活用算了。和 yum,apt-get 真的不可相提并论,简直是对 yum,apt-get 的侮辱。

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

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

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

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

© 2021 V2EX