MacPorts vs. Fink vs. Homebrew [複製]


39

この質問にはすでに答えがあります:

私は常にGCCコンパイラと他のプログラムのインストールと保守にMacPortを使用していました。今、FinkとHomebrewについて聞いたことがあります。これら2つのユーティリティはMacコミュニティで地位を確立しつつあるようですが、両者の違いはわかりません。

MacPorts、Fink、Homebrewの主な違いは何ですか?品質やパフォーマンスに違いはありますか?


3
Rudixもあります。
lhf

4
この古い質問は、あなたのニーズに応えますか?
bmike

回答:


30

Finkは、少なくとも2001年フィンクとMacPortsのは、システムへの「直交」になりたいパッケージマネージャであるため、つまり、彼らは独自のバージョンのインストールの周りされているpythonperl自身の樹木内のライブラリ、コンパイラなど(/ SWため、 Fink、MacPortsの場合は/ opt / local)。これは、Appleがそのソフトウェアで行うことを彼らが制御できないためであり、Appleが自分のものを更新したときに時折問題を引き起こしたからです。

私が理解していることから、Homebrewはシステムとの「統合」を望んでおり、Appleが提供するライブラリを使用し、その内容/usr/local/binを他の標準フォルダーにインストールします。Homebrewではソフトウェアの選択がより制限されていることを意味すると思います。KDEをインストールできるとは想像できませんが、試したことはありません。

Fink対MacPortsの1つのポイント:数年前、Finkプロジェクトはバイナリパッケージを提供していました。つまり、パッケージを自分でコンパイルせずにダウンロードしてインストールできます。パッケージマネージャーにはまだその機能がありますが、長い間利用できるバイナリはありませんでした。それがその間に変わったかどうかはわかりません。

要するに、バイナリのものがない場合、FinkとMacPortsは非常に似ています。HomebrewはHomebrewよりも多くのパッケージを利用できるはずですが、Homebrewは上記で述べた理由によりディスク容量を少なくする必要があります。品質に関して:Homebrewをインストールしたことがないので、FinkとMacPortsの間では、現在使用していないものを好む。

MacPortsに満足しているのであれば、そのままにしてください。

PS Homebrewを試したことがないのは、プリコンパイル済みパッケージを使用しているからです。これらは通常、/ usr / local / binなどにもインストールされます。


私はあなたがKDEについて間違っているに違いないと思ったが、確かにそれは真実だ。かつてはパッケージがありましたが、Homebrewの階層と互換性のないKDEのビルド方法について明らかに何かがあります。いつか修正されることを願っています。
エクリストファーソン

1
@echristophersonそれで、かつてKDEを持っていましたか?私にとって驚き。しかし、KDEは非常に壊れやすいようです。Finkでインストールしたことがあり、次のアップデートでインストール全体が台無しになりました。したがって、Homebrewではさらに脆弱になると予想されます。しかし、いつか彼らがそれを正しくするならば、私は私が言ったすべてを取り戻します。
パーシバルユリシーズ

4
Homebrewを/ usr / localにインストールするのも、私がそれを使用しないのと同じ理由です。伝統的なUNIXの哲学にこだわって、だけが/ usr / localに物を置くべきです。
ジェイソン

個人的にはMacPortsを使用していますが、最後にチェックしました(しばらく前)Finkには、利用可能なパッケージのはるかに大きなコレクションがありました。
HairOfTheDog

1
@Jasonこれはシングルユーザーマシンにも当てはまりますか?Homebrewをインストールしたばかりで、後悔しないことを願っています。しかし、Appleが管理者権限を持つルートおよびユーザーをどのように処理するかはあまり明確ではありません。私は自分のシステムで唯一のユーザーです。
haziz

8

主な違いは
、プロビデンス、結果、および配布方法です。

最も重要な詳細は、選択したシステムに必要なソフトウェアのパッケージが含まれているかどうかを確認することです。パッケージ数はおよそ:19k Macports、22k Fink、3k Homebrew、10k pkgsrcです。

  • Macports(以前のDarwinポート)は、ソースを取得し、パッチを適用し、ビルドし、インストールするpkgsrcのようなBSDスタイルのポートシステムのようです。pkgsrcに非常に似ている場合は、シェルスクリプトを使用してこれを行います。以前はXcodeが提供するツールに依存していましたが、問題が発生し始めたため、gccをブートストラップすることもできます。さらに、いくつかのバイナリパッケージがありますが、システムの最新バージョンが毎回見つかるとは限りません。OS Xカーネルに基づいたAppleオープンソースBSDであるDarwinから提供され、配布を中止しました。/opt/local他のインストーラーパッケージやシステムアップグレードの影響を受けないパッケージをインストールします。
  • Finkは、再:フィンチはチャールズ・ダーウィンの研究の対象とされ、それはの使用を特徴とする意味Debianのパッケージマネージャに基づいてパッケージシステムですdpkgと、apt-getあなたは確実にバイナリパッケージを見つけることができるということを主な利点があること..あなたは上流のパッケージを持っていると仮定現在のOSバージョンのバイナリを含むリポジトリ。また、ダーウィンのユーザーベースから出てきましたが、おそらくより安定したハードウェアサポートを探しているDebian Linux [macまたはPPC用]から来た人たちにおそらく人気がありました... /sw他のインストーラーがインストールする可能性のあるものを上書きしない、または上書きされるという理由でパッケージをインストールします。また、コンパイラの検索パスとデフォルトの既にPATH含まれ/usr/local/binているものについての何か。
  • Homebrewは概念的には一種のportsシステムですが、ルビーで書かれています。これは、スタンドアロンのOSの世界から来たものではなく、Mac OS Xユーザー向けのものでした(他のユーザーも同じように徹底的に使用され、テストされています)。2014年半ばの時点で、基本的にすべてのパッケージをビルドしようとします(それらはフォーミュラと呼ばれます)が、ボトルと呼ばれるバイナリ形式で使用できるものもいくつかあります。 -あなたとあなたの友人のツールチェーンを標準化する(他のシステムにも同じ)。プラス面として、それはおそらくあなたがすでに持っているものと同じ数のライブラリを使用してビルドされます。ほとんどの場合、Xcodeが機能するためにXcodeは必要ないと思いますが、「サポートおよび推奨」されています。各アイテムを独自のプレフィックスでインストールできますが、/usr/localそれはキックスタートであり、他のものよりも新しいものだと思います。相互依存パッケージを必要とすることはめったにないので、これを最もよく使用していることに個人的に気付きました。Homebrewは、cpan、gemsなどの密結合マネージャーに由来するソフトウェアに対して、より適切なパッケージマネージャーを使用するように強制することを目的としています。
  • pkgsrcはMac OS Xで利用でき、バイナリパッケージを持ち、それを維持し、さらにFreeBSDのポートシステムに基づいたNetBSDから提供されます。NetBSDはアーキテクチャ間での移植性に焦点を当てていたため、おそらく他のプラットフォームのサポートを開始するのに最適なポートシステムの候補でした。それはMacportに私の説明に似ていますが、私は(NetBSDの上を除く)、それを使用していませんでした、と私はそれがにインストールさだと思い/ますが構築さとでパッケージを維持します/pkg。おそらく多くのパッケージ(12kなど)があり、約20%がビルドされないか、ソースの最新バージョンが最後に維持されたパッチでパッチされない可能性があります。そのため、これらの種類のシステムではバイナリパッケージが優先されます。

私は、perbrewの一種であるperlbrewも使用しました。perlperl構築されたアプリケーションといくつかの依存関係です。これは主に、perlの複数のバージョンを維持するのに適した方法であり、他のより一般的なパッケージシステム(その目的のため)の必要性を便利に無効にします。しかしもちろん、cpancpanminusもあります

独自のミニ環境用の同様のマネージャーを見つけるかもしれません(vimのvundle、rubyのgem、node.jsのnpm、pythonのpypmまたはpipgoの組み込みgo install...など)?


Homebrewには特定のクラスのパッケージが意図的に含まれていないため、パッケージ数が誤解を招く可能性があります-apple.stackexchange.com/questions/32724/で
Dan Dascalescu

5

FinkとMacPortsは、直交システムをインストールするという点で直接的な競争相手です。Finkは数年前にMacPortsにかなりの地位を失いました。なぜ今なのか完全にはわかりませんが、MacPortsはほとんどすべてをより良く処理しました。

Mac OS Xのクレイジーパンツの数が減ったため、直交インストールを行う理由が少なくなりました。Brewは、Mac OS Xとの統合を改善するために作成されたotohであり、軽量化と直交性の低下を実現しました。また、Rubyistがすべてを書き直したためです。

実際には、MacPortsはもう少し複雑ですが、MacPortsはほとんど常に動作しますが、Brewはよりシンプルですが、レンガの壁にぶつかる可能性が高くなります。

これらの質問を自問してください:

  • 多くのLinuxエコシステムツールを使用していますか?
  • 複数のバージョンが必要ですか?
  • 新しいツールをたくさん試しますか?
  • 数学/科学ツール/ライブラリまたは他の珍しいツールを使用していますか?

はいの答えがあれば、MacPortsを選択する必要があります。比較的少数の一般的なパッケージをインストールする場合、Brewはオーバーヘッドが少なくなりますが、Brewは複雑さも処理しません。/usr/local手動インストールにも必要な汚染を醸造します。実際には、MacPortsにはさらに詳細な引数がありますが、いいえと答えた場合はおそらく適用されません。

逆に、「はい」と答えたが、プライマリマシンがLinuxを実行しており、Macが最小限のLinuxソフトウェアを実行しているおもちゃにすぎない場合、実際にはBrewを使用したほうがよいでしょう。


2

ただし、補足として、Apple OS Xに関連するものは何も/ usr / local / binにインストールされません。/ usr / libを使用し、/ usr / binは舞台裏でフレ​​ームワークは/ Library / Frameworksにパッケージ化されますが、通常のUnix ./configure、make、make installを使用して自分でインストールするものは/ usr / local / binなどを使用します、およびMacPortsなどのユーティリティは/ opt /を使用し、場合によっては個人の〜/ Library / Frameworks /にフレームワークをパッケージ化します。

私がお勧めするのは、慣れているならMacPortsを使い続けることです。基本的に主な違いは、MacPortsがFreeBSDのポートを使用した真のUnix / BSDポートツリー実装に似たシステムを使用するのに対し、FinkはLinux Debianアーカイブから移植されたアプリケーションを使用し、Linux Debianと同じパッケージマネージャーシステムを使用することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.