最近UbuntuからMacに切り替えました。sudo apt-get
UbuntuにはMacには便利な機能がないのでがっかりしました。私は自作を使用するべきだと聞きましたが、自作またはmacportsが何をするか正確にわかりませんか?
最近UbuntuからMacに切り替えました。sudo apt-get
UbuntuにはMacには便利な機能がないのでがっかりしました。私は自作を使用するべきだと聞きましたが、自作またはmacportsが何をするか正確にわかりませんか?
回答:
MacPortsは進むべき道です。
@ user475443が指摘したように、MacPortsにはさらに多くのパッケージがあります。brew では、必要な式が存在しないため、すぐに閉じ込められてしまいます。
MacPortsはネイティブアプリケーションです:C + TCL。Rubyはまったく必要ありません。Mac OS XにRubyをインストールするには、MacPorts が必要になる場合があるので、MacPortsを使用するだけで十分です。
MacPortsは本当に安定しており、8年間は問題がありませんでした。また、Unixエコシステム全体で問題が発生しました。
PHP開発者であれば、Apacheの最新バージョン(Mac OS Xは2.2を使用)、PHP、および必要なすべての拡張機能をインストールし、1つのコマンドですべてをアップグレードできます。Homebrewでも同じことを忘れてください。
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。Homebrewにこの機能があるかどうかはわかりません。
ルビストは、Rubyですべてを書き直すのが好きです。
Homebrewとmacportsはどちらも同じ問題を解決します。つまり、osxにバンドルされていない一般的なライブラリとユーティリティのインストールです。
通常、これらは開発関連のライブラリであり、これらのツールの最も一般的な使用は、osxで作業する開発者向けです。
どちらもxcodeコマンドラインツールをインストールする必要があり(https://developer.apple.com/から個別にダウンロードできます)、一部の特定のパッケージでは、xcode IDE全体をインストールする必要があります。
xcodeはMacアプリストアからインストールできます。無料でダウンロードできますが、約5 GBなので(正しく覚えていれば)しばらく時間がかかります。
macportsは、BSDのポートユーティリティのosxバージョンです(osxはBSDから派生しているため、これは当然の選択でした)。BSDディストリビューションに慣れている人なら、macportsはくつろいだ気分になるでしょう。
自作とmacportの大きな違いの1つ。私が自作を好む理由は、osxに「ネイティブに」インストールする必要があるものを上書きしないためです。つまり、利用可能なネイティブパッケージがある場合、homebrewはそれを上書きして、将来的に問題を引き起こす代わりに、通知します。また、ユーザースペースにライブラリをインストールします(したがって、インストールに「sudo」を使用する必要はありません)。これは、すべてがアクセス可能なパスにあるため、ライブラリを取り除くときにも役立ちます。
自作もより活発なユーザーコミュニティを楽しんでおり、そのパッケージ(数式と呼ばれる)はかなり頻繁に更新されます。
macportsはネイティブOSXパッケージを上書きしません-それは独自のバージョンを提供します-これは私が自家製のものよりもmacportsを好む主な理由です、あなたはあなたが使用しているものを確認する必要があり、ポートへのAppleの変更が異なる時間にあり、知っています一部のプロジェクトの更新に何年も遅れている
macportsがネイティブOS Xパッケージを上書きすることを示すリファレンスを提供できますか?私の知る限り、すべてのmacportsのインストールは
/opt/local
多分私は明確にする必要があります-私の答えのどこにもmacportsがOSXネイティブパッケージを上書きするとは言いませんでした。どちらもアイテムを個別にインストールします。
Homebrewは、互換性を高めるために「ライブラリ」/ツールの推奨インストーラを使用して「ネイティブ」にインストールする必要がある場合に警告を表示します。これが私が言ったことです。また、からOS Xで利用可能なローカルライブラリの多くとして使用するのwiki:
私たちは、Homebrew / homebrewでのだましが本当に好きではありません
しかし、私たちは蛇口でのだましが好きです!
OS Xに付属するもの、またはRubyGems、CPAN、またはPyPiによって提供されるライブラリであるものは、複製しないでください。これには十分な理由があります。
- 複製ライブラリは定期的にビルドを中断します
- 重複したライブラリと、それほどではありませんが、重複したツールで微妙なバグが発生します
- OS Xに付属しているもので数式を機能させるために、もっと頑張ってほしい
必要に応じて、macosxが提供するバージョンのユーティリティをhomebrewで上書きできます。
現在、Macportsには成熟度があるため、Homebrewの数式(〜3.1K)よりも多くのパッケージ(〜18.6 K)があります。しかし、自作はゆっくりと追いついています。
Macportパッケージは1人で管理する傾向があります。
Macportsは複数のバージョンのパッケージを保持でき、それらを有効または無効にしてテストを行うことができます。時々、このリストは破損する可能性があり、手作業でリストを元に戻すには手動で編集する必要がありますが、それほど難しくはありません。
どちらのパッケージマネージャーも定期的に更新するように求めます。これには時間がかかる場合があります。
注:両方のパッケージマネージャーをシステムにインストールできます。どちらか一方ではありません。Brewは文句を言うかもしれませんが、Macportsはそうではありません。
また、pythonまたはrubyパッケージを扱っている場合は、可能な限り仮想環境を使用してください。
デフォルトでは、Homebrewはパッケージを/ usr / localにインストールします。Macportコマンドでは、インストールとアップグレードにsudoが必要です(Ubuntuのapt-getと同様)。
詳細:
このサイトはホンブリュー語の使用を提案しています:http ://deephill.com/macports-vs-homebrew/
:このサイトリストのMacPortsを使用することの利点のに対しhttp://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
最近、Ubuntuから切り替えて、homebrewを使うのも好きですが(シンプルで使いやすい!)、sudoの使用に夢中になっている場合は、Macportsの方が適しています。
/usr/local
Homebrewに向かった。Appleは/usr/local
「基本的なオペレーティングシステムに含まれていない実行可能ファイル、ライブラリなど」を残しました。つまり、Homebrewを使用する前にインストールされたツール/usr/local
が、なしでは変更できないように作成されている可能性がありますsudo
。彼らはウィキでそれについて議論しません。
/usr/local
root権限なしで使用できるとは思わないということです。/usr
新規のOS Xインストールでのデフォルトの権限はroot所有者であり、他のユーザーには書き込み権限がありません。を作成 するためにも/usr/local
、Homebrewはrootアクセスを必要とします。(私は何も守ろうとはしていません)
homebrew
なしのものをインストールすることができsudo
、それは自分自身を設定するとき、それがために使用され sudo
、何の内部を行うことができるようになりますので、ディレクトリの緩い上の許可をするために/usr/local
パスワードをトリガすることなく。「パスワードなしでインストール」の部分が間違っているということですか?私はそうは思わない!パスワードなしでアイテムを取得できることhomebrew
は依然として本当です。