web-dev-qa-db-ja.com

自作、macportsまたは他のパッケージインストールツールの違い/使用法は何ですか?

私はつい最近UbuntuからMacに切り替えました。私はUbuntuでMacが便利なSudo apt-getを持っていないことに失望しました。私は自作を使うべきだと聞きましたが、自作やmacportsが何をするのか正確にはわかりませんか?

231
ROBOTPWNS

MacPortsがその道です。

  1. @ user475443が指摘したように、MacPortsにはもっとたくさんのパッケージがあります。 brewでは、必要な式が存在しないため、すぐに trapped が見つかります。

  2. MacPortsはネイティブアプリケーションです:C + TCL。 Rubyはまったく必要ありません。 Mac OS XにRubyをインストールするには、 may がMacPortsを必要とするので、MacPortsを使うだけでいいでしょう。

  3. MacPortsは本当に安定していて、8年間で私はそれに問題を抱えたことがなく、そして私のUnixエコシステム全体がそれを中継しています。

  4. あなたがPHP開発者であれば、最後のバージョンのApache(Mac OS Xは2.2を使います)、PHP、そして必要なすべての拡張機能をインストールできます。 Homebrewでも同じことを忘れてください。

  5. MacPortsはグループをサポートしています。

    foo@macpro:~/ port select --summary
    
    Name        Selected      Options
    ====        ========      =======
    db          none          db46 none
    gcc         none          gcc42 llvm-gcc42 mp-gcc48 none
    llvm        none          mp-llvm-3.3 none
    mysql       mysql56       mysql56 none
    php         php55         php55 php56 none
    postgresql  postgresql94  postgresql93 postgresql94 none
    python      none          python24 python25-Apple python26-Apple python27 python27-Apple none
    

    PHP55とPHP56の両方がインストールされている場合(多くの異なる拡張子を持つ)、1つのコマンドでそれらを交換することができます。すべての相対的な拡張子はグループの一部であり、それらは選択されたグループ(php55またはphp56)内で有効になります。私は自作がこの機能を持っているかどうかわからない。

  6. RubyはRubyですべてを書き直すのが好きです。なぜなら、Ruby自体が唯一安心しているものです。

142
noun

自作とmacportsは両方とも同じ問題を解決します - それはosxにバンドルされていない共通のライブラリとユーティリティのインストールです。

通常これらは開発関連のライブラリであり、これらのツールの最も一般的な用途はosxで作業している開発者向けです。

どちらもxcodeコマンドラインツールがインストールされている必要があり( https://developer.Apple.com/ から個別にダウンロードできます)、特定のパッケージではxcode IDE全体が必要になります。インストールされています。

xcodeはMac App Storeからインストールできます。無料ダウンロードですが、5GB前後になるまでしばらく時間がかかります(正しく記憶している場合)。

macportsはBSDのportユーティリティのosxバージョンです(osxはBSDから派生しているので、これは当然の選択でした)。 BSDディストリビューションのいずれかに精通している人なら誰でも、MacPortを自宅で感じることができます。

自作とマックポートの大きな違いの1つ。自作を好む理由は、osxに「ネイティブに」インストールされるべきものを上書きしないということです。つまり、利用可能なネイティブパッケージがある場合、homebrewはそれを上書きして問題を起こす代わりに通知します。 また、ライブラリをユーザースペースにインストールします(したがって、インストールに "Sudo"を使用する必要はありません)。すべてがあなたにとってアクセス可能なパスにあるので、これは同様にライブラリを取り除くときに役立ちます。

homebrewはまた、よりアクティブなユーザーコミュニティを楽しんでおり、そのパッケージ(数式と呼ばれる)はかなり頻繁に更新されます。


macportsはネイティブのOSXパッケージを上書きしません - それはそれ自身のバージョンを提供します - これが私が自作のものよりmacportsを好む主な理由です、あなたはあなたが使っているものを確かめなければなりませんいくつかのプロジェクトでは何年も更新が遅れている

MacportsがネイティブのOS Xパッケージを上書きすることを示す参照を与えることができますか?私が言うことができる限り、すべてのmacportsのインストールは/opt/localで行われます

多分私ははっきりさせるべきです - 私はmacportsがOSXネイティブパッケージを上書きすると私の答えのどこにも言いませんでした。どちらも別々にアイテムをインストールします。

Homebrewは、より良い互換性のために(ライブラリ/ツールの優先インストーラを使って)「ネイティブに」ものをインストールすべき時にあなたに警告します。これが私の言っていることです。また、OS Xで利用可能なローカルライブラリの多くを使用します。 wiki :から

私たちはHomebrew/homebrewには本当に好きではありません

しかし、私たちは蛇口で二重奏が好きです!

OS Xに同梱されているもの、あるいはRubyGems、CPAN、またはPyPiで提供されているものはダビングしてはいけません。これには正当な理由があります。

  • 重複したライブラリは定期的にビルドを中断します
  • 微妙なバグは、重複したライブラリ、そしてそれほどではないが重複したツールで発生します。
  • OS Xに付属しているもので式を機能させるために、もっと努力してほしい

オプションで homebrewを使ってmacosxが提供するユーティリティのバージョンを上書きすることができます。

106
Burhan Khalid

現在、Macportsは、成熟度のために、Homebrew製法(〜3.1K)よりも多くのパッケージ(〜18.6K)を持っています。自作はゆっくりと追いついています。

Macportパッケージは一人の人間によって保守される傾向があります。

MacPortは複数のバージョンのパッケージを保存することができ、それらを有効または無効にしてテストすることができます。このリストは壊れてしまうことがあるので、手動で編集して順番に戻す必要がありますが、それほど難しいことではありません。

両方のパッケージマネージャが定期的に更新されるよう求めます。これには少し時間がかかります。

注意:あなたのシステムに両方のパッケージマネージャを置くことができます。どちらかではありません。 Brewは文句を言うかもしれませんが、MacPortはそうではありません。

また、PythonまたはRubyパッケージを扱っている場合は、可能な限り仮想環境を使用してください。

23
user475443

デフォルトでは、Homebrewはパッケージを/ usr/localにインストールします。 MacportコマンドをインストールしてアップグレードするにはSudoが必要です(Ubuntuのapt-getに似ています)。

詳しくは:

このサイトはHombrewを使うことを勧めています: http://deephill.com/macports-vs-homebrew/ /

一方、このサイトではMacPortを使用する利点について説明しています。 http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907

私も最近Ubuntuから切り替えました、そして私は自作を使うのが好きです(それは簡単で使いやすいです!)が、Sudoを使うことに慣れているなら、Macportsがより良い方法かもしれません!

18
debstep