1
CEBBCAT 2021-06-29 21:40:46 +08:00 via Android
什么意思?不升级不就行了吗?
|
2
IgniteWhite 2021-06-29 21:55:17 +08:00 4
两个方法:
1 把包 pin 在某个版本 2 自己维护 tap 第一种办法省事但是不优雅,因为你 pin 只能保存在你安装时候的当前版本,即使安装的时候使用 @ 某个版本这种方法,也不能保证有些 formulae/casks 的过往版本 archive 了,安装不了。 第二种办法优雅,需要你到 Homebrew 的 GitHub repo 里面找到并修改需要的 formula/cask 对应的 rb 文件的历史版本,然后传到自己的 GitHub repo 里面。使用的时候加一下自己的 tap,然后记住给自己的包起一个带后缀的名字防止名字和官方 tap 冲突。官网都有教程很简单的,repo 结构可以参考我的 tap: https://github.com/g6ai/homebrew-ale |
3
IgniteWhite 2021-06-29 22:06:12 +08:00
需要补充一点,Homebrew 安装 binary 的时候,会安装对应于你系统版本的 bottle 。这个 bottle 对应的包版本的也是由上面我说的 rb 文件控制的,作者会保证使用当前系统兼容的最新包版本,如果不兼容就不会给这个系统版本上更新的包版本,结果是一般老版本的系统用 brew 软件也不会出问题。
所以基于这种情况,楼主不妨说一下自己是哪个包使用出了问题,因为就算你维护自己的 tap 也是有的放矢。 |
4
wowbaby 2021-06-30 09:07:56 +08:00
除非你不升级,并且不装新的软件,有的软件新版本强制升级依赖,不解锁不给装。
brew 虽然方便,但对我来讲无数次的不愉快,一大堆的依赖,稍微隔久点没更新,更新就出问题,浪费大量的时间去弄,弄一下半天没了。我宁愿包大一点,每个程序的依赖都在本程序依赖目录下,保证程序不出问题。 比如,很多程序都依赖 openssl,brew 可以锁住 pin openssl,但是你安装软件的时候强制要你 unpin,自动升级 openssl 后, 之前软件依赖 openssl 有可能出问题,或者是版本不匹配,还有就是 brew 会强制下架一些旧版本,但是你开发环境又需要旧版本,还得 tap 其他资源。 brew 可以禁用自动更新,这种情况你不能安装新的软件包,总的来讲给我的感觉体验不好,下次换电脑,打算都手动编译,省心。 |
5
liemehoc OP @IgniteWhite 谢谢
装 ffmpeg 的时候依赖 rust,10.13.6 不提供 bottle 了,编译又编译不过 macos 对老版本的支持真的不太行啊,没法安心留在老版本,想念 linux |
7
wowbaby 2021-06-30 09:49:12 +08:00
@liemehoc 目前没有发现更好的,用 brew 的一般都是装各种开发环境,你如果更新系统,brew 也可能会出问题,很多得重装,挺烦的。旧版 brew switch <formula> <version> 还可以切换版本,能应急,新版也砍了。
目前只有自己手动编译软件了,虽然首次比较麻烦,但是后续不会出问题。 我最开始没有用 brew 从没出过问题。 |
8
nieyujiang 2021-06-30 09:56:23 +08:00 via iPhone
Homebrew 可以强制指定从源码构建
|
9
MrKrabs 2021-06-30 13:31:10 +08:00
禁止 brew 自动更新,禁用 bottle
|
10
Liampor 2021-06-30 13:49:40 +08:00
开发环境不知道,但是那个 cask 可以使用 homebrew-cask-upgrade,然后 brew cu 更新 brew cu pin 这种固定版本
|
11
findex 2021-06-30 23:44:40 +08:00
(说句题外话,目测楼主黑苹果+N 卡驱动?)
|
13
findex 2021-07-01 22:04:06 +08:00
@liemehoc 哦。其实可以转 Linux 。很好用。现在苹果已经放弃支持 10.13 系统了。或者可以通过奇怪方式( opencore 仿冒)装上最新系统也许会卡。我有台黑果+1060 显卡无奈只能停留 10.13 ,只用核心显卡倒是能支持 macos 11/12 。通过目前苹果的路子可以看出,未来苹果是贴心走 ARM 了,用 Linux 很好不会被绑架。(再说句题外话:我一般是 Mac+虚拟机 Linux 做开发的,MacOS 用于看报表什么的)
|
14
typetraits 2021-07-03 09:50:10 +08:00
@liemehoc #5 homebrew 里的 ffmpeg 依赖太多了,建议从 https://evermeet.cx/ffmpeg/ 下载编译好的 binary
|