我只是從Ubuntu Linux遷移到Mac,一切都是新的,並且我在重新學習很多東西。
在Linux上,我非常擅長管理軟件包。我在Mac上搜索了一個替代產品,並找到了有關MacPorts,Fink和Homebrew的信息。他們?有哪些優點和缺點?哪個維護得最好並且有更多軟件包?
我只是從Ubuntu Linux遷移到Mac,一切都是新的,並且我在重新學習很多東西。
在Linux上,我非常擅長管理軟件包。我在Mac上搜索了一個替代產品,並找到了有關MacPorts,Fink和Homebrew的信息。他們?有哪些優點和缺點?哪個維護得最好並且有更多軟件包?
絕對是自製的。我從Fink開始,然後切換到MacPorts(更快樂),然後切換到Homebrew(非常快樂)。這些是我使用每種工具的原因(如果需要的話,請使用專業列表):
/ usr / local
中,因此不需要修改 PATH
到處它更獨立於Mac OS X,這意味著MacPorts只會忽略Mac OS X中已經提供的許多系統庫和軟件,而將其拉成自己的,當您安裝的實用程序需要一些大型庫和軟件時,速度可能會變慢。
但是這種選擇比較安全,因為安裝的軟件包較少受蘋果系統更新/升級過程的影響。
它更依賴於現有的Mac OS X安裝的軟件包,因此這將加快軟件包的安裝速度並盡量減少冗餘庫。
但是的風險是安裝的軟件包可能由於Apple的系統更新/升級而被破壞。
因此,這是兩種不同的類型
。此外,默認情況下,Homebrew會接管 / usr / local ,而有些人不喜歡它,因為它與某種方式衝突unix傳統,可能會導致p如果您已經在其中安裝了任何東西(MySQL等),則會出現問題。
除了這些區別之外,考慮到這兩個可以提供的軟件包,您可以使用這兩個命令進行檢查安裝了MacPorts / Homebrew,向您顯示它們當前提供的軟件包:
端口列表| wc -lbrew搜索| wc -l
,您會發現MacPorts的軟件包比Homebrew多得多。
(2016年5月13日19399 vs 3583)
至少添加一些我自己的想法,至少在2014年底左右才是真實的想法。
在幾年前,國產啤酒在思想分享方面絕對占優勢。您會發現很多博客都在談論人們對Homebrew的滿意程度-通常是因為整個“ MacPorts拉動了整個世界”與“ Homebrew充分利用了您已有的東西”之類。
但是,海事組織(IMO),MacPorts與幾年前相比已經是另一回事了。當我第一次切換到OS X的&使用MacPorts時,MP理念的確令人沮喪,因為幾乎所有內容都是從源代碼構建的。新安裝特別麻煩/緩慢。但是在過去的一年左右的時間裡,純粹根據我自己的印象,似乎90%的MP軟件包都是二進製文件&,因此現在安裝確實非常快。從我的收集來看,自製軟件也正朝著“瓶子”的方向發展,但我給人的印像是,此時您通過HB安裝的大多數東西都是從源代碼編譯的。
因此,提供反駁的意見,MacPorts如今似乎實際上是“更快”的選擇。但是,大多數人對MP的看法似乎是基於大約2011-12的經驗,因此&並沒有真正考慮到這一點。儘管我不是普通的HB用戶(但並排使用它非常痛苦),但還是要加些鹽。從長遠來看,“戰爭”
否則YaOZl & kLy涵蓋了主要區別sudo,依賴項等都很好。我個人確實發現MacPorts有時會引起一些麻煩,例如其他程序不希望在 / opt / local
中包含任何內容,安裝具有root權限的東西等。&通常有些事情是最好的沒有與MacPorts一起安裝(例如,您可以通過MacPorts安裝Rails,但是如果不通過Ruby的常規Gem管理來安裝它,您會發瘋)。除此之外,儘管我非常支持MacPorts建立自己的小世界&而不依賴某些預包裝的OS X庫的哲學-當它起作用時,並且大多數情況下,一切都變得非常簡單。您真正想要的是包管理器。正如我所提到的,在這一點上,它可以很快地完成大多數事情。
希望其中一些有用。
(到目前為止)似乎沒有提到的其他答案是,MacPorts對舊版macOS具有出色的支持。Homebrew僅支持Apple當前支持的操作系統,這通常意味著最近三個版本。例如,從2020年8月開始,只有Catalina,Mojave和High Sierra與Homebrew兼容。
相比之下,MacPorts可以安裝在Tiger(!)上,並且該項目維護特殊的補丁程序以使軟件盡可能地工作。他們還維護一個“傳統支持”庫,該庫將符號從新版本的macOS反向移植到較舊的版本。在編譯時鏈接到此庫可以使各種新軟件突然在舊系統上運行!
因此,如果您正在運行舊版本的macOS,或者如果您認為可能需要在Apple的到期日期之後使用當前操作系統,那絕對是使用MacPorts的原因。
我可以輕鬆使用Brew,因此我無法告知它的缺點。MacPorts的一些缺點:
關於前兩點,有幾個非常受歡迎的問題。