Changchun Master Li

使用homebrew的正确姿势

2018-01-11

homebrew 简介

homebrew 是 OS X 的包管理器, 很多人都在用。 在官网中,homebrew 被描述 The missing package manager for macOS 。 然而真实情况是由于 mac 蛋疼的坏境, 通常情况下我们不得不使用它。 但是相对于 Debian 这些成熟的 Linux distribution 的包管理器, homebrew 经常迫使我 brew edit 来改 ruby 代码, 实在太搓逼了 (不如叫做 The manager missing package for macOS 好了)

总结使用 brew 过程中我学到的东西。

安装软件

安装通常还是很愉快的, 以安装 gcc 为例

# 查找版本
brew search gcc
# 安装
brew install gcc@4.9

但往往会由于各种原因 系统未升级/编译不通过/安装后打不开, 我们可以尝试安装老版本

# 拖下来全部 commit
git -C "$(brew --repo homebrew/core)" fetch --unshallow
# 查找老版本日志, 记下那个 commit 值
brew log gcc@4.9
# git 签出文件
git -C "$(brew --repo homebrew/core)" 0cf13f21 -- Formula/gcc@4.9.rb
# 安装
brew install gcc@4.9

如果是这个版本现在从源里被删掉了怎么办呢?
例如 nodejs 0.12 , 现在已经被删掉了。 那只能用 git 命令看了。

git log --all --full-history -- Formula/node@0.12.rb

坐上了时光机好刺激。

删除软件

更刺激的是, 删除软件的时候 brew 竟然没有自动删除依赖的选项! 尼玛坑爹呢, 这也好意思叫manager??
幸好我们有 rmtree, 堪称 The missing package uninstaller for homebrew

brew tap beeftornado/rmtree
brew rmtree gcc@4.9

是不是轻松愉快, 随心所欲。

防止软件自动升级

使用 pin 来防止 brew upgrade 的时候系统自动升级上去。

brew pin gcc@4.9

总结

GNU/OS X 10.9.5 用到了现在。。

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章