Mac OS上のUnixパッケージの公式インストーラーは何ですか?


10

Mac OS Xでの標準のUnixパッケージのインストールについて少し混乱しています。たとえば、/ usr / bin / svnはSVN v.1.4.4ですが、FinkCommanderはsvnがインストールされていないと言っています。emacsなどの他のパッケージについても同様です。

FinkCommanderの設定が間違っているだけですか?現在/sw、すべてをにインストールするように設定されていPATHます。それで、パッケージをにインストールするように設定するだけで、インストール/usrされたソフトウェアが認識されますか?すべての複製パッケージをインストールしたくないのですが、FinkCommanderがインストールされたソフトウェアと同期していないように見えるのはかなり奇妙です。

または、使用する必要がある他のインストーラーはありますか?Mac Portsは推奨されるインストーラーですか?

(Mac OS 10.5.8を使用しています。)


良い質問といくつかの素晴らしい答え。こちらも
ご覧

MacPortsの場合:すべてのパッケージを最初からコンパイルするのは本当におかしいです。MacPorts(最初にgcc43、perl、automake、glib2などをコンパイルします)を使用してRをインストールするために、ラップトップを昼も夜もそのままにしておくことに気づきました。
dehmann

ビルド済みのバイナリパッケージが必要な場合は、Rudixをチェックしてください。
Telemachus

回答:


10

OS Xの公式のパッケージマネージャーはありません。

FinkMacPorts、およびHomebrewは、この空白を埋めるために独自の異なる機能を提供しています。

多くのユーザーが指摘したように:

  • / usrの使用を避けます
  • PATHを設定するまで、別のディレクトリのパッケージは見つかりません。

答えてくれてありがとう。それはかなりがっかりです。適切なパッケージマネージャーを提供できないのはなぜですか?:-(
dehmann

5
彼らの対象読者は何をすべきかわからないでしょう。私たちの残りの人はそれを機能させます:-)
Jeremy L

私はそれを受け入れられた回答として選びましたが、実際には複数のマネージャーを使用しても問題ないと付け加えます。少なくともFinkとMacPortsは異なるディレクトリにインストールされるため、共存できます。
dehmann 2010

7

Mac OS X用の公式の Unix / FOSSパッケージマネージャーはありませんが、MacPortsはAppleのMac OS X / Darwinエンジニアによって作成され、主に維持されていることに注意してください。macports.orgのWebサイトは、アップルの「MacOSForge.com」プロジェクトの一環として、アップルのサーバーでホストされています。Mac OS X / Darwinは* BSDベースであるため、AppleのUnix層ソフトウェアエンジニアの多くは* BSDの伝統に基づいているため、* BSDの「ポート」モデルに基づいてMacPortsをモデル化しました。

FinkはMac OS Xの元々のオープンソースパッケージマネージャーでしたが、Appleと組織的に密接な関係はなく、Debian Linux apt-getの伝統に従うことを選択しました。

上記の詳細のいずれかを推奨するのに十分かどうかはわかりません。それは、あなたがすでに慣れ親しんでいるモデルに帰着すると思います。apt-getに慣れている場合は、Finkを使用してください。BSDの「ポート」に慣れている場合は、MacPortsを使用してください。

他の人が言ったように、Mac OS XのデフォルトのUnixツールはそのままにしておくのが最善です。FinkとMacPortsはすでにそのことを学び、独自のディレクトリ階層(Finkの場合は/ sw、MacPortsの場合は/ opt)に独自のコピーをインストールしています。Homebrewはまだそのレッスンを完全には学習していませんが、一部のユーザーがHomebrewを使用してPerlやPythonなどの組み込みコピーを更新するとすぐに理解し、Macの組み込み部分を壊す予期しない互換性の問題が発生しますOSX。Perlスクリプトを使用してインストールタスクの一部を実行するインストーラパッケージ(Mac OS X .pkgバンドルファイル)など。


5
私が理解しているように、Homebrewは/ usr / local /にインストールされるため、システムPythonを上書きすることはありません。
Pepijn、2010

4
Homebrewを使用して既存のコンポーネントを上書きすることは不可能です。OSXはデフォルトで/ usr / localなしで出荷されます。
ポールロビンソン

5

OS Xの公式パッケージマネージャーはありません。

Finkは、Finkパスにインストールされていないため、インストールされていないとおそらく言っています。FinkまたはMacPortsから何かをインストールしたり、バージョン番号の異なるコピーを複製したりすると問題が発生しました。

1つを選んで、それに固執してください。変更する必要があると思われる場合は、他のパッケージマネージャーを一掃して、新しいパッケージマネージャーから再インストールすることをお勧めします。


3

表示されているsvnのバージョンはMac OS Xに付属しており、Finkやその他のソースからのものではありません。

bashのtypeコマンドを使用して、さまざまなバージョンを識別できます。たとえば、MacPortsを使用して、新しいバージョンのsqlite3をインストールしました。

$ type -a sqlite3
sqlite3 is /opt/local/bin/sqlite3
sqlite3 is /usr/bin/sqlite3

/ opt / local / binのバージョンはMacPortsからのものであり、/ usr / binのバージョンはMac OS Xからのものです。

FinkまたはMacPortsのバイナリを/ usrにインストールしないことをお勧めします。これらはそのままにしておきます。Finkを/ swにインストールするか、MacPortsを/ opt / localにインストールします。PATH標準バージョンの前にFink / MacPortsバージョンを見つけるように調整してください


同様のフラグを使用すると、次のように使用できますwhich -a sqlite3
Jeremy L

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