V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunriz
V2EX  ›  macOS

homebrew 很难用吗

  •  
  •   sunriz · 2019-06-22 12:03:57 +08:00 · 11721 次点击
    这是一个创建于 2010 天前的主题,其中的信息可能已经有所发展或是发生改变。
    正打算入个 mac ,但是了解到 homebrew 很难用,没有下载镜像,没有比较好的包依赖管理。。我原想的是用 OSX 代替 linux+日常使用软件(如微信,office 这些,在 linux 下用 wine 太卡,win 子系统又有很多限制)。目前这么看不能达到预期?
    68 条回复    2019-06-24 21:19:39 +08:00
    leonme
        1
    leonme  
       2019-06-22 12:06:08 +08:00 via Android
    很好用啊,挂代理很快的
    sunriz
        2
    sunriz  
    OP
       2019-06-22 12:10:04 +08:00
    @leonme 代理一般用哪家的呢?我现在了解被墙后能再换 ip 的好像只有 vultr,但是速度实在有限
    sunwei0325
        3
    sunwei0325  
       2019-06-22 12:10:25 +08:00
    brew 基本是 mac 标配了
    sunriz
        4
    sunriz  
    OP
       2019-06-22 12:11:30 +08:00
    @sunwei0325 关键好像并不能和 apt,yum 这些一样用?速度就是个问题吧,哎
    nieyujiang
        5
    nieyujiang  
       2019-06-22 12:12:37 +08:00
    很好用啊.配合代理顺滑的一匹.
    Tiande
        6
    Tiande  
       2019-06-22 12:14:06 +08:00
    微信 Office365 之类的,AppStore 都有。
    用 homebrew 装这些,反而可能还要手动更新。

    可以自己在网页版翻一翻,大部分软件都有的
    https://apps.apple.com/cn/app/%E5%BE%AE%E4%BF%A1/id836500024?mt=12

    homebrew 使用上很方便
    brew search/info/list/install/uninstall/reinstall/update/upgrade/cleanup
    应该还算亲切吧?
    Tiande
        7
    Tiande  
       2019-06-22 12:15:46 +08:00
    代理方面:
    ALL_PROXY=http://127.0.0.1:1087 brew install XXX
    之类的就可以了,linux 用户依旧很亲切吧?
    shoujiaxin
        8
    shoujiaxin  
       2019-06-22 12:18:29 +08:00 via iPhone
    好奇你是怎么了解到 Homebrew 难用的。以 Casks 来说,就只有在更新索引的时候可能会慢一点(取决于访问 GitHub 的速度),下载 App 的时候就是直接从官方链接下载,我这里上海电信完全不用代理速度都还可以。以及微信和 Office 这些为什么要用 Homebrew,App Store 不好吗
    sunriz
        9
    sunriz  
    OP
       2019-06-22 12:25:29 +08:00
    @Tiande 嗯我就是看中各种软件对 osx 的桌面支持。homebrew 主要装命令行软件。非得挂代理才能用,对代理本身还有要求。brew 本身好像对依赖管理也有些问题吧?本来以为 osx 能一步到位,现在看起来好像并不是这么回事
    sunriz
        10
    sunriz  
    OP
       2019-06-22 12:29:04 +08:00
    @shoujiaxin 桌面软件当然不用 brew。另外下载包都是走 git 吗?我这里访问 git 速度比较慢,几十 k
    Nasei
        11
    Nasei  
       2019-06-22 12:29:36 +08:00 via Android
    你似乎想要 linux 的编程环境和 win 的桌面环境?那安其中一个然后虚拟另一个就可以吧?
    Nasei
        12
    Nasei  
       2019-06-22 12:32:02 +08:00 via Android
    mac 属于折中的办法,但它一不能全兼容 linux api,二桌面软件不如 win,怎么说呢,又不是不能用
    shoujiaxin
        13
    shoujiaxin  
       2019-06-22 12:33:41 +08:00 via iPhone
    @sunriz 下载包用的都是包官方的链接,Homebrew 提供索引和管理。访问 GitHub 慢那确实就难受了,但是我记得中科大镜像源里有 Homebrew,应该是可以换镜像源的,具体可以看看这个
    https://www.zhihu.com/question/31360766
    另外我觉得 Homebrew 主要问题是 macOS 大版本更新后可能会出一些问题,日常使用还是很方便的
    fuckshiter
        14
    fuckshiter  
       2019-06-22 12:35:33 +08:00 via iPhone
    比 linux 好吧,多种版本选择,最新的也很快就有了,不用自己编译
    zwpaper
        15
    zwpaper  
       2019-06-22 12:36:08 +08:00 via iPhone
    先问是不是,再问怎么办

    个人体验 homebrew 挺不错的,不知道难用从何说起?

    工作使用 ubuntu 和 centOS
    Nas 使用 Arch
    日常使用 Mac
    sunriz
        16
    sunriz  
    OP
       2019-06-22 12:40:14 +08:00
    @zwpaper 如果工作也使用 mac,使用上在您看来可以替代吗
    sunriz
        17
    sunriz  
    OP
       2019-06-22 12:42:44 +08:00
    @Nasei 是的,需求就是如此。虚拟来虚拟去总是不满意,性能,自由度这些,linux 下用 wine 开微信真是卡到怀疑人生。。。个人也比较追求纯净的系统
    sunriz
        18
    sunriz  
    OP
       2019-06-22 12:45:14 +08:00
    既然大家都觉得能用,我先试试,不行过段时间再出了,反正 MAC 还比较保值吧
    wee911
        19
    wee911  
       2019-06-22 12:50:12 +08:00
    怎么会有人觉得 brew 难用,这个结论不对
    hguandl
        20
    hguandl  
       2019-06-22 12:53:19 +08:00
    很好用,我觉得是我用过的最好的包管理,既可以像 apt 一样一键安装,又可以有 aur 那样的可定制性。

    包索引更新是用 git,下载文件是 HTTP。如果感觉慢的话可以尝试使用代理,或者用国内镜像源,比如清华或中科大的。

    依赖管理方面不知是从哪里了解到的有问题,首先 brew 毫无疑问是包含依赖检测功能的,而 homebrew 官方源收录的东西肯定是都是经过测试确保可靠的。据我这几年的使用情况来说从来没有遇到过依赖出错的。

    如果是从 Linux 迁移过来感觉有问题的话,那我推测可能是因为部分软件用到了 Linux 的内核功能,macOS 无法支持。
    shiji
        21
    shiji  
       2019-06-22 12:53:21 +08:00 via Android
    好用,就是官方不再维护 php 比较闹心
    RYAN0UP
        22
    RYAN0UP  
       2019-06-22 13:00:49 +08:00 via Android
    好用
    sunriz
        23
    sunriz  
    OP
       2019-06-22 13:02:36 +08:00
    @wee911
    @hguandl
    @shiji
    既然都说好用,可能我消息有误,了解到的可能是很久以前的评价。先试试再说
    adadada
        24
    adadada  
       2019-06-22 13:19:26 +08:00
    WispZhan
        25
    WispZhan  
       2019-06-22 13:46:32 +08:00
    真的难用。

    多用户支持像 x 一样。 一台给 CI 用的 MacMini,因为多人操作,加多用户,各种办法折腾完之后各种莫名其妙的 bug。
    不是提示 权限 就是 提示 insecure。
    cranelee13
        26
    cranelee13  
       2019-06-22 15:29:15 +08:00 via iPhone
    反正我是没找到比 homebrew 好用的包管理工具。

    如果没 homebrew,相信很多人都不会用 Mac 做开发了。
    strcmp
        27
    strcmp  
       2019-06-22 15:41:29 +08:00
    头一回听说 brew 难用

    homebrew 可是最好用的包管理了,没有之一
    Samuelcc
        28
    Samuelcc  
       2019-06-22 15:54:46 +08:00 via Android
    homebrew 可是 mac 下的一大杀器。。也是阻止我迁移到 Linux 的原因之一。
    codeduan
        29
    codeduan  
       2019-06-22 16:11:28 +08:00
    非常好用啊
    zwpaper
        30
    zwpaper  
       2019-06-22 16:22:01 +08:00 via iPhone
    @sunriz 作为开发机完全没问题,brew 能够满足大部分的需求了,甚至可以装 GNU 工具链替换自带 BSD 的工具
    zwpaper
        31
    zwpaper  
       2019-06-22 16:27:33 +08:00 via iPhone
    Mac 不适合也不应该作为服务端,作为开发机的话,如果熟悉 Linux,那 Mac 就是最佳选项
    huijiewei
        32
    huijiewei  
       2019-06-22 16:39:38 +08:00
    没觉得难用。
    littlewey
        33
    littlewey  
       2019-06-22 16:50:06 +08:00 via iPhone
    非常好用的 cask 支持 gui app 还
    broadliyn
        34
    broadliyn  
       2019-06-22 18:47:05 +08:00
    homebrew 本身就能替换源啊。
    没梯子不方便用代理,那就换个清华的源就行了。
    falcon05
        35
    falcon05  
       2019-06-22 18:54:48 +08:00 via iPhone
    确实难用,不能跟 yum,apt 同日而语,说版本可以选择的别闹了,比如 php 就装不了 5.x 版本,只有 7 版本,因为下架了,每次装软件就连一次检查更新,错误提示更是牛头不对马嘴,软件用了一段时间出问题了,一搜解决方式,通常是重装而不是更新。
    ispinfx
        36
    ispinfx  
       2019-06-22 18:56:51 +08:00 via iPhone
    用过最好用的。
    abmin521
        37
    abmin521  
       2019-06-22 19:03:38 +08:00
    @hguandl #20 然而 apt 大部分都带好 i 预编译 brew 都是自己编译吧?
    huijiewei
        38
    huijiewei  
       2019-06-22 19:11:43 +08:00 via iPhone
    @falcon05 2019 年了还用 php5.x 的更别闹了,老旧项目完全用 docker 跑一下就行了,还用 5.x 写项目得多坑呢
    falcon05
        39
    falcon05  
       2019-06-22 19:13:53 +08:00 via iPhone
    @huijiewei 大哥,这是开发环境,2.19 用 5.x
    falcon05
        40
    falcon05  
       2019-06-22 19:21:34 +08:00 via iPhone
    @huijiewei 手滑了发出去了,2019 用 php5.x 怎么了,人家还有用 asp,perl,codefusion 的呢,老项目你给钱升级啊。再说我开发环境是 5.6 跟 7.2 两个一起装的,php-fpm 监听不同端口,mbp 就别用 docker 了,不但费内存还费电。而且 mac 实现上还套了一层虚拟机,跟 Linux 原生相比多了很多问题,比如连接宿主机网络
    hguandl
        41
    hguandl  
       2019-06-22 20:18:09 +08:00
    @abmin521
    也有预编译的啊,叫 homebrew-bottles,官方的 homebrew-core 里面的软件都是有预编译版本的,但是只维护最近三个大版本的,目前就是 10.12 10.13 10.14 ,等出了 10.15 就不再更新 10.12 的了。


    @falcon05
    下架应该是因为维护者已经没有多余的精力维护这么老的版本,从数据上看使用量比较小才砍掉的吧。这种情况要不就赞助那边让他们继续维护,或者从历史记录里找 php5,fork 出来继续用。
    shuxiao9058
        42
    shuxiao9058  
       2019-06-22 21:11:30 +08:00 via iPhone
    @sunriz 差不多吧,一样的道理吧!你只是需要镜像站吧!
    shuxiao9058
        43
    shuxiao9058  
       2019-06-22 21:16:02 +08:00 via iPhone
    @falcon05 你说的版本问题 yum、apt 一样有!
    falcon05
        44
    falcon05  
       2019-06-22 21:19:10 +08:00 via iPhone
    @shuxiao9058 yum apt 可以换 repo 的
    falcon05
        45
    falcon05  
       2019-06-22 21:25:25 +08:00 via iPhone
    @shuxiao9058 应该说可以添加第三方的 repo,比如某些发行版默认只有 php5,但可以添加第三方的 repo 装上 php7
    fuwu1245
        46
    fuwu1245  
       2019-06-22 21:39:19 +08:00
    本地跑个代理
    用起来很舒服
    有在用 ubuntu 的感觉
    但是界面比 Ubuntu 要好不少 )个人感觉。。。
    somebody18
        47
    somebody18  
       2019-06-22 22:25:00 +08:00
    Linux 用户表示,除了蛋疼的依赖 xcode、gdb 调试需要额外配置之外,没啥大问题
    kljsandjb
        48
    kljsandjb  
       2019-06-22 22:29:31 +08:00 via iPhone
    不难啊…
    banricho
        49
    banricho  
       2019-06-22 22:29:33 +08:00
    挺好用啊。。。
    walkonthemarz
        50
    walkonthemarz  
       2019-06-22 22:34:09 +08:00 via iPhone
    看楼上已经说了,中科大源和清华源都能用呀
    glaucus
        51
    glaucus  
       2019-06-22 22:59:33 +08:00 via iPhone
    简直不要太好用
    charlie21
        52
    charlie21  
       2019-06-22 23:14:33 +08:00
    homebrew 甚至可以用 Cakebrew 的 GUI ( 方便导入和导出 )
    ik2h
        53
    ik2h  
       2019-06-22 23:45:43 +08:00 via Android
    说实话,用习惯 portage 后,确实觉得 homebrew 不怎么好用,主要是定制性方面太差了。
    ynyounuo
        54
    ynyounuo  
       2019-06-23 02:10:32 +08:00 via iPhone
    以上提到的一些问题实际并不存在

    brew 版本管理的原则是源官方还在推送安全更新的正式版本,所以也是为什么 php 5 没了的原因之一。我觉得这条规定没有任何问题。如果需要官方源不包含的东西,tap 一个私有源不要太简单。没人做过也可以自己写,几行的事情。

    并且在 Linux 系统由于很多生产环境没有 superuser 权限很多人选择在 Linux 环境下简单用 LinuxBrew 配置简单的运行环境来使用。

    Homebrew 的优势在于依附于 GitHub,所以参与度高,大众包版本更新较快,接收到 master 的包有任何小问题也能经由大量的用户基础在 issue 的反馈在短时间内解决。劣势在于需要照顾绝大多数人的安全体验,所以 core 部分对于系统版本支持,包版本支持等比较局限,但是大部分的情况解决办法 GitHub 上大把,早就有人 tap 好并且维护了。并且由于 Mac 系统 SIP 等限定,GDB 等需要很多额外操作才可使用,libffi 等则会以「 keg-only 」的形式存在,需要配置环境菜可以用在生产环境下。

    个人觉得 Homebrew 挺好,一般通过 tap 也能解决很多小众需求,cask 毛病挺多不要推荐重度依赖。
    Jirajine
        55
    Jirajine  
       2019-06-23 02:18:33 +08:00 via Android   ❤️ 1
    最好用的包管理是 pacman+aur 吧
    Mirage09
        56
    Mirage09  
       2019-06-23 02:18:37 +08:00 via iPhone
    无墙环境下 homebrew 非常好用啊,当然如果使用有 edge case 先自己去 Google 一下看看有没有人踩坑了...
    lostberryzz
        57
    lostberryzz  
       2019-06-23 02:21:59 +08:00 via Android
    mac 上最好用,请注意这个限定
    tjbwyk
        58
    tjbwyk  
       2019-06-23 04:11:27 +08:00 via Android
    习惯 Linux 的软件管理方式的话,MacPorts 考虑一下?
    Stevenv
        59
    Stevenv  
       2019-06-23 09:42:23 +08:00 via Android
    Linux 的包管理器,不开代理也得换源啊。
    likuku
        60
    likuku  
       2019-06-23 11:16:49 +08:00
    用过 yum, apt, ports, pacman 多年后,觉得 homebrew 很好用啊。
    VD
        61
    VD  
       2019-06-23 12:11:45 +08:00   ❤️ 2
    洁癖症患者表示,homebrew 不叫包管理,依赖处理并不好,卸载某个包的时候,依赖包居然不能自动卸载。
    相比几个流行的 linux 发行版的包管理来说,homebrew 确实弱了不止一点。
    VD
        62
    VD  
       2019-06-23 12:17:28 +08:00   ❤️ 1
    说 homebrew 好用的,应该是因为 MacOS 下没有优秀的包管理器,向下比较,homebrew 相对而言在 MacOS 下属于最好用的...
    palxex
        63
    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
        64
    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
        65
    lrvy  
       2019-06-23 20:03:49 +08:00   ❤️ 1
    @Bardon #64 brew rmtree 可以解决一部分残留依赖的问题
    oIMOo
        66
    oIMOo  
       2019-06-24 16:42:44 +08:00
    好奇 “难用” 的来源
    pmispig
        67
    pmispig  
       2019-06-24 17:22:08 +08:00
    我用的 macports
    lijixi
        68
    lijixi  
       2019-06-24 21:19:39 +08:00   ❤️ 1
    先说结论:homebrew 确实不好用!

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

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

    3. 就是因为 MacOS 下没有官方的包管理系统,homebrew 顶多算是“矬子里拔将军”,凑活用算了。和 yum,apt-get 真的不可相提并论,简直是对 yum,apt-get 的侮辱。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2571 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 10:25 · PVG 18:25 · LAX 02:25 · JFK 05:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.