この質問にはすでに答えがあります:
私は常にGCCコンパイラと他のプログラムのインストールと保守にMacPortを使用していました。今、FinkとHomebrewについて聞いたことがあります。これら2つのユーティリティはMacコミュニティで地位を確立しつつあるようですが、両者の違いはわかりません。
MacPorts、Fink、Homebrewの主な違いは何ですか?品質やパフォーマンスに違いはありますか?
この質問にはすでに答えがあります:
私は常にGCCコンパイラと他のプログラムのインストールと保守にMacPortを使用していました。今、FinkとHomebrewについて聞いたことがあります。これら2つのユーティリティはMacコミュニティで地位を確立しつつあるようですが、両者の違いはわかりません。
MacPorts、Fink、Homebrewの主な違いは何ですか?品質やパフォーマンスに違いはありますか?
回答:
Finkは、少なくとも2001年フィンクとMacPortsのは、システムへの「直交」になりたいパッケージマネージャであるため、つまり、彼らは独自のバージョンのインストールの周りされているpython
、perl
自身の樹木内のライブラリ、コンパイラなど(/ 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などにもインストールされます。
主な違いは
、プロビデンス、結果、および配布方法です。
最も重要な詳細は、選択したシステムに必要なソフトウェアのパッケージが含まれているかどうかを確認することです。パッケージ数はおよそ:19k Macports、22k Fink、3k Homebrew、10k pkgsrcです。
/opt/local
他のインストーラーパッケージやシステムアップグレードの影響を受けないパッケージをインストールします。dpkg
と、apt-get
あなたは確実にバイナリパッケージを見つけることができるということを主な利点があること..あなたは上流のパッケージを持っていると仮定現在のOSバージョンのバイナリを含むリポジトリ。また、ダーウィンのユーザーベースから出てきましたが、おそらくより安定したハードウェアサポートを探しているDebian Linux [macまたはPPC用]から来た人たちにおそらく人気がありました... /sw
他のインストーラーがインストールする可能性のあるものを上書きしない、または上書きされるという理由でパッケージをインストールします。また、コンパイラの検索パスとデフォルトの既にPATH
含まれ/usr/local/bin
ているものについての何か。/usr/local
それはキックスタートであり、他のものよりも新しいものだと思います。相互依存パッケージを必要とすることはめったにないので、これを最もよく使用していることに個人的に気付きました。Homebrewは、cpan、gemsなどの密結合マネージャーに由来するソフトウェアに対して、より適切なパッケージマネージャーを使用するように強制することを目的としています。/
ますが構築さとでパッケージを維持します/pkg
。おそらく多くのパッケージ(12kなど)があり、約20%がビルドされないか、ソースの最新バージョンが最後に維持されたパッチでパッチされない可能性があります。そのため、これらの種類のシステムではバイナリパッケージが優先されます。私は、perbrewの一種であるperlbrewも使用しました。perlでperl
構築されたアプリケーションといくつかの依存関係です。これは主に、perlの複数のバージョンを維持するのに適した方法であり、他のより一般的なパッケージシステム(その目的のため)の必要性を便利に無効にします。しかしもちろん、cpanとcpanminusもあります。
独自のミニ環境用の同様のマネージャーを見つけるかもしれません(vimのvundle、rubyのgem、node.jsのnpm、pythonのpypmまたはpip、goの組み込みgo install
...など)?
FinkとMacPortsは、直交システムをインストールするという点で直接的な競争相手です。Finkは数年前にMacPortsにかなりの地位を失いました。なぜ今なのか完全にはわかりませんが、MacPortsはほとんどすべてをより良く処理しました。
Mac OS Xのクレイジーパンツの数が減ったため、直交インストールを行う理由が少なくなりました。Brewは、Mac OS Xとの統合を改善するために作成されたotohであり、軽量化と直交性の低下を実現しました。また、Rubyistがすべてを書き直したためです。
実際には、MacPortsはもう少し複雑ですが、MacPortsはほとんど常に動作しますが、Brewはよりシンプルですが、レンガの壁にぶつかる可能性が高くなります。
これらの質問を自問してください:
はいの答えがあれば、MacPortsを選択する必要があります。比較的少数の一般的なパッケージをインストールする場合、Brewはオーバーヘッドが少なくなりますが、Brewは複雑さも処理しません。/usr/local
手動インストールにも必要な汚染を醸造します。実際には、MacPortsにはさらに詳細な引数がありますが、いいえと答えた場合はおそらく適用されません。
逆に、「はい」と答えたが、プライマリマシンがLinuxを実行しており、Macが最小限のLinuxソフトウェアを実行しているおもちゃにすぎない場合、実際にはBrewを使用したほうがよいでしょう。
ただし、補足として、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と同じパッケージマネージャーシステムを使用することです。