BASHスクリプトでは、gcc, g++, cpp, make, libpng devel, zlib devel, git, Java
(develファイルを含む)、ant
およびpkg-config
はMac OS Xで利用できます。利用できない場合は、インストールするようユーザーに要求する必要があります。
Linuxにはパッケージ管理ツールがあるため、これは簡単な作業ですが、Mac OS Xシェルでこれを行う方法はわかりません。例えば。 openSUSEではrpm -q
およびzypper in
、od Debianベースのディストリビューションdpkg-query
およびapt-get install
。しかし、Macでそれを行う方法は?
Appleのパッケージ管理システムはしばしば批判の対象となります。ユーティリティpkgutil
を使用して、パッケージの領収書をリストおよび照会できます。
Appleのインストーラーでインストールされたすべてのパッケージをリストする
pkgutil --pkgs
パッケージIDの正規表現
pkgutil --pkgs=.\+Xcode.\+
パッケージID内のすべてのファイルを一覧表示する
pkgutil --only-files --files com.Apple.pkg.update.devtools.3.2.6.XcodeUpdate
次に、lsbom
を使用して、/ var/db/receiptsのbomファイルを読み取ることができます
ユーザーは、MacPorts、fink、Homebrewなどの他のパッケージ管理システムもインストールします。または、任意の接頭辞で独自にコンパイルします。 pkgutil
は、これらの方法でインストールされたパッケージをリストしません。
ターゲットオペレーティングシステムがOS X10.9またはOS X 10.10の場合
gcc --version
コマンドがgccバージョンを出力するか、XCodeコマンドラインツールをインストールするように求められます。 gcc, g++, cpp, make, and git
は他のツールとともにインストールされます。 JavaパッケージはOracleから提供されています。テストはJava --version
ただし、ヘッダーファイルを検索するには、Appleのフレームワーク、プラグイン、およびバンドルに慣れる必要があります。 pkgutil
は、このプロセスに適した候補です。
あなたが言及した他のパッケージはおそらくシェルスクリプトでコンパイルされるか、コンパイルされてAppleインストーラーパッケージに入れられ、シェルスクリプトを介してインストールされます。簡単な方法はありません。
最初に頭に浮かぶのはsystem_profiler
です。
system_profiler SPSoftwareDataType
上記のコマンドの出力はyum info
のようになります。このユーティリティでスローするオプションは他にもたくさんあります。 man system_profiler
が正しい方向に進みます。この ブログエントリ は、もう少し情報を提供します。
このパッケージに検出可能なバイナリがある場合、次のことができます-
package_name=<packge-name>
t=`which $package_name`
[ -z "$t" ] && echo "the $package_name isn't installed!"