【CLI】Homebrew調(diào)研

Homebrew

Homebrew調(diào)研

參考文章


解釋一些概念

  • brew 又叫Homebrew唯咬,是Mac OSX上的軟件包管理工具,能在Mac中方便的安裝軟件或者卸載軟件咬崔, 只需要一個命令税稼, 非常方便,brew類似ubuntu系統(tǒng)下的apt-get的功能。

  • 作為linux系統(tǒng)的忠實粉絲垮斯,我們都很喜歡 (Debian/Ubuntu)系列的apt包管理系統(tǒng)(Redhat/Fedora)系列的yum包管理系統(tǒng)郎仆。 包括Windows用戶都有多種方便的軟件管理工具,如:360軟件管理兜蠕,QQ軟件管理扰肌,迅雷軟件管理等多種。 Mac OS X系統(tǒng)下面之前有老牌的Macports熊杨,F(xiàn)ink包管理系統(tǒng)曙旭,包括apple的官方Mac App Store盗舰。所以我們也向在蘋果下找到一款比較新的,方便的包管理系統(tǒng)桂躏,沒錯钻趋,她就是Homebrew

  • 如果你有Linux/Unix背景沼头,那么在Mac上你一定想安裝那些你熟悉的open source軟件爷绘。Fink,Macports和Homebrew是3個主流的package management tool进倍。

  • Fink是基于Debian的packaging tools開發(fā)的土至。最大的特點是安裝軟件是預編譯好的(pre-compiled/pre-built)。所以猾昆,用Fink安裝package是不需要在本機編譯的陶因,都是現(xiàn)成的binary code。Fink最大的問題是package跟進不夠快垂蜗。很多最新版的軟件楷扬,你要等Fink。

  • Macports:Mac算是BSD的一個變種吧贴见。所以烘苹,BSD的包管理軟件port被移植到Mac上就顯的理所當然了。macports的工作方式是下載source code然后在本地編譯片部。macport的理念是盡量減少對系統(tǒng)現(xiàn)有庫的依賴镣衡。所以,第一次用macport的時候档悠,需要很長時間讓macport重新build整個基本庫廊鸥,什么perl啊,python啊的辖所。代價是較長的編譯時間惰说,較多的依賴關(guān)系下載。好處是不怎么依賴系統(tǒng)缘回,也就是說吆视,更新Mac OS不會破壞你現(xiàn)有的package。

    另外酥宴,macports安裝所有的package到/opt/local下面揩环。這樣不會和系統(tǒng)現(xiàn)有的/usr/local有什么沖突。

  • Homebrew:這個比較新幅虑,是在Lion之后才興起的丰滑。工作方式和macport類似,也是下載source并在本地編譯安裝。但是和macports有兩個根本的區(qū)別褒墨。

    1) homebrew的理念是盡量使用系統(tǒng)現(xiàn)有的庫炫刷。這樣可以大大的減少編譯時間。

    2) package都安裝到/usr/local下面郁妈。
    這兩點和macports是完全相反的浑玛。結(jié)果也是有利有弊。最大的好處莫過于編譯時間變短噩咪,安裝簡單顾彰。問題就是和系統(tǒng)緊密依賴。

    另外Homebrew假設你的Mac是單用戶系統(tǒng)胃碾,所以/usr/local的owner應該是你涨享,而不是傳統(tǒng)的root。
    這個假設在大多數(shù)情況下都成立仆百。
    (當然你可以改變homebrew的安裝路徑厕隧,然后修改你的PATH)

    另外,一個不太重要的區(qū)別俄周,macport是用rsync來同步repository tree和獲取新的package的吁讨。
    homebrew是用git來管理repository的。
    如果你是在內(nèi)部網(wǎng)或者firewall后通過proxy使用峦朗,這點可能會給你帶來影響--一些proxy不支持rsync的建丧。

  • 忘了Fink吧,老了波势。 如果你是重量級的Linux用戶翎朱,希望使用所有的open source package,那么macports是你不二的選擇艰亮。如果你只希望很快的安裝一些便利的工具,那么homebrew是個不錯的選擇挣郭。

  • Homebrew有一個非称#活躍的社區(qū)。Github提供了一個良好的合作平臺兑障,用戶之間的交流非常有效率侄非。軟件倉庫的版本更新非常快流译,每天都會有多次提交逞怨。總體感覺福澡,Homebrew年輕富有活力叠赦,Macports偏于保守嚴謹。(Fink的用戶群好像已經(jīng)很小了革砸,不提也罷)

Homebrew常見用法

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

    • 比如安裝git

brew install git

    *   比如安裝wget  

    ```  
brew install wget  

Homebrew安裝成功后除秀,會自動創(chuàng)建目錄 /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的官方網(wǎng)站
    • brew info:顯示軟件信息
    • brew deps:顯示包依賴
    • brew -v: 查看homebrew版本
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末暂吉,一起剝皮案震驚了整個濱河市胖秒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌慕的,老刑警劉巖阎肝,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異业稼,居然都是意外死亡盗痒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門低散,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俯邓,“玉大人,你說我怎么就攤上這事熔号』蓿” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵引镊,是天一觀的道長朦蕴。 經(jīng)常有香客問我,道長弟头,這世上最難降的妖魔是什么吩抓? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮赴恨,結(jié)果婚禮上疹娶,老公的妹妹穿的比我還像新娘。我一直安慰自己伦连,他們只是感情好雨饺,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著惑淳,像睡著了一般额港。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上歧焦,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天移斩,我揣著相機與錄音,去河邊找鬼。 笑死叹哭,一個胖子當著我的面吹牛忍宋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播风罩,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼糠排,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了超升?” 一聲冷哼從身側(cè)響起入宦,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎室琢,沒想到半個月后乾闰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡盈滴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年涯肩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巢钓。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡病苗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出症汹,到底是詐尸還是另有隱情硫朦,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布背镇,位于F島的核電站咬展,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏瞒斩。R本人自食惡果不足惜破婆,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望胸囱。 院中可真熱鬧祷舀,春花似錦、人聲如沸旺矾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽箕宙。三九已至,卻和暖如春铺纽,著一層夾襖步出監(jiān)牢的瞬間柬帕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留陷寝,地道東北人锅很。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像凤跑,于是被迫代替她去往敵國和親爆安。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容