brew和brew cask有什麼區別?
brew是ruby的包管理,後來看yangzhiping的博客介紹了brew cask,感覺cask是更好的關聯關係管理,但是,我後來使用過程中,發現很多軟體brew cask里沒有,但是brew裡面倒是挺多!誰來給說說,兩者的區別,為何網路上跟推薦用brew cask呢?
brew 是從下載源碼解壓然後 ./configure make install ,同時會包含相關依存庫。並自動配置好各種環境變數,而且易於卸載。
這個對程序員來說簡直是福音,簡單的指令,就能快速安裝和升級本地的各種開發環境。
而 brew cask 是 已經編譯好了的應用包 (.dmg/.pkg),僅僅是下載解壓,放在統一的目錄中(/opt/homebrew-cask/Caskroom),省掉了自己去下載、解壓、拖拽(安裝)等蛋疼步驟,同樣,卸載相當容易與乾淨。這個對一般用戶來說會比較方便,包含很多在 AppStore 里沒有的常用軟體。
cask 官方的兩個安裝索引源,一個針對穩定版本,一個針對 Dev
https://github.com/phinze/homebrew-caskhttps://github.com/caskroom/homebrew-versions
並且,如果發現有什麼遺漏的,自己 fork create push pull request 第一個地址即可。brew主要用來下載一些不帶界面的命令行下的工具和第三方庫來進行二次開發
brew cask主要用來下載一些帶界面的應用軟體,下載好後會自動安裝,並能在mac中直接運行使用舉個例子,
brew install curl可以安裝curl第三方庫,這樣你在開發時就可以使用它的庫來進行開發
brew cask install chrome可以安裝谷歌瀏覽器應用程序,可直接運行brew偏管理第三方庫和命令行工具方面的東東
brew cask可以看作是蘋果官方app store的補充,是一個眾多貢獻者們維護的非蘋果官方軟體商店,你也可以在這裡下mac軟體用一些免費好用的mac軟體沒有在蘋果官方app store商店上架,我們就可以在brew cask中下載。如果我要下載10個免費小軟體,而這些軟體沒有在蘋果商店上架,我們不需要一個一個去谷歌它們的官方網站,再去這些軟體的官網去下載,我們統一在brew cask中下載。使用brew cask來進行包管理還有一個好處,這10個免費軟體如果自身不帶升級功能,但現在它們有更新,我只能去官網重新下載?不,直接在brew cask里就可以統一升級。這也是你問的那句「為何網路上跟推薦用brew cask呢?」的原因。
如果安裝mac圖形界面軟體,推薦先在蘋果官方商店裡搜索下載,沒有的話去brew cask試試,如果還沒有,只能去這個軟體的官方網站去下載了。
brew 裝的主要是 command line tool。
brew cask裝的大多是有gui界面的app以及驅動,brew cask是brew的一個官方源。
二者並無競爭關係,所以也不存在你說的更推薦brew cask。brew裝的東西比較偏向開發,而brew cask裝的東西會相對生活化一些。
所以,你看到了很多推薦brew cask的東西,是以一個「Mac 日常使用者」的身份。如果你閱讀的領域更偏開發,那你看到的東西就是清一色介紹brew,順便說一句brew cask。
看下官方回答:
https://brew.sh
Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn』t include with macOS.
http://caskroom.github.io
Homebrew-Cask extends Homebrew and brings its elegance, simplicity, and speed to macOS applications and large binaries alike.
簡單來說,就是因為Mac是基於Unix的,為了便於安裝了使用Apple沒有提供的GNU下的多種Unix工具,開發者開發了brew工具。
而brew cask是對於brew的擴展,可以採用brew的方式安裝圖形界面的軟體。
brew cask search | wc -l 可以得到cask的數量是3754個。例如常用的包括java, mactex, rstudio等。
推薦閱讀:
※你還在手動標註嗎?
※蘋果前工程師逆天「改造」蘋果,一個u盤讓電腦秒變觸屏
※Just Focus:好的設計,就是 get 到你的點
※閱讀小工具 PyPDFOCR - 把圖片式PDF變成可搜索的文本式PDF
※如何評價 OS X 10.11 EI Capitan Public Beta?