【CLI】Homebrew调研

Homebrew

Homebrew调研

参考文章


解释一些概念

  • brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便,brew类似ubuntu系统下的apt-get的功能。

  • 作为linux系统的忠实粉丝,我们都很喜欢 (Debian/Ubuntu)系列的apt包管理系统(Redhat/Fedora)系列的yum包管理系统。 包括Windows用户都有多种方便的软件管理工具,如:360软件管理,QQ软件管理,迅雷软件管理等多种。 Mac OS X系统下面之前有老牌的Macports,Fink包管理系统,包括apple的官方Mac App Store。所以我们也向在苹果下找到一款比较新的,方便的包管理系统,没错,她就是Homebrew

  • 如果你有Linux/Unix背景,那么在Mac上你一定想安装那些你熟悉的open source软件。Fink,Macports和Homebrew是3个主流的package management tool。

  • Fink是基于Debian的packaging tools开发的。最大的特点是安装软件是预编译好的(pre-compiled/pre-built)。所以,用Fink安装package是不需要在本机编译的,都是现成的binary code。Fink最大的问题是package跟进不够快。很多最新版的软件,你要等Fink。

  • Macports:Mac算是BSD的一个变种吧。所以,BSD的包管理软件port被移植到Mac上就显的理所当然了。macports的工作方式是下载source code然后在本地编译。macport的理念是尽量减少对系统现有库的依赖。所以,第一次用macport的时候,需要很长时间让macport重新build整个基本库,什么perl啊,python啊的。代价是较长的编译时间,较多的依赖关系下载。好处是不怎么依赖系统,也就是说,更新Mac OS不会破坏你现有的package。

    另外,macports安装所有的package到/opt/local下面。这样不会和系统现有的/usr/local有什么冲突。

  • Homebrew:这个比较新,是在Lion之后才兴起的。工作方式和macport类似,也是下载source并在本地编译安装。但是和macports有两个根本的区别。

    1) homebrew的理念是尽量使用系统现有的库。这样可以大大的减少编译时间。

    2) package都安装到/usr/local下面。
    这两点和macports是完全相反的。结果也是有利有弊。最大的好处莫过于编译时间变短,安装简单。问题就是和系统紧密依赖。

    另外Homebrew假设你的Mac是单用户系统,所以/usr/local的owner应该是你,而不是传统的root。
    这个假设在大多数情况下都成立。
    (当然你可以改变homebrew的安装路径,然后修改你的PATH)

    另外,一个不太重要的区别,macport是用rsync来同步repository tree和获取新的package的。
    homebrew是用git来管理repository的。
    如果你是在内部网或者firewall后通过proxy使用,这点可能会给你带来影响--一些proxy不支持rsync的。

  • 忘了Fink吧,老了。 如果你是重量级的Linux用户,希望使用所有的open source package,那么macports是你不二的选择。如果你只希望很快的安装一些便利的工具,那么homebrew是个不错的选择。

  • Homebrew有一个非常活跃的社区。Github提供了一个良好的合作平台,用户之间的交流非常有效率。软件仓库的版本更新非常快,每天都会有多次提交。总体感觉,Homebrew年轻富有活力,Macports偏于保守严谨。(Fink的用户群好像已经很小了,不提也罢)

Homebrew常见用法

  • 安装方法:在终端等CLI输入
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  
  • 使用homebrew安装软件:

    • 比如安装git

brew install git

    *   比如安装wget  

    ```  
brew install wget  

Homebrew安装成功后,会自动创建目录 /usr/local/Cellar 来存放Homebrew安装的程序。

  • 使用homebrew卸载软件:
    比如卸载wget
brew uninstall wget  
  • 使用brew查询软件
    有时候,你不知道你安装的软件的名字, 那么你需要先搜索下, 查到包的名字。
    比如:
brew search /wge*/  

/wge*/是个正则表达式, 需要包含在//中,如下图


HomebrewSearch.png
  • 彻底卸载homebrew  
    
    cd `brew –prefix`

    rm -rf Cellar

    brew prune 

    rm `git ls-files` 

    rm -rf Library .git .gitignore bin/brew

    rm  -rf README.md share/man/man1/brew

    rm -rf Library/Homebrew Library/Aliases 

    rm -rf Library/Formula Library/Contributions

    rm -rf ~/Library/Caches/Homebrew  
  • 其他homebrew命令
    • brew list:列出已安装的软件
    • brew update:更新brew
    • brew home:用浏览器打开brew的官方网站
    • brew info:显示软件信息
    • brew deps:显示包依赖
    • brew -v: 查看homebrew版本
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容