はじめに

Windowsのパッケージ管理システムは、Windows10以降となるとPackageManagementがあります。

Linuxは、yumが有名です。

Macの場合はパッケージ管理システムについて、あまり馴染みがありません。

特にWindowsやLinuxなどの他のOSから切り替えた時、困ったことがある人もいるのではないでしょうか。

実はMacには、MacPortsというパッケージ管理システムがあります。今回は、MacPortsについて設定方法やダウンロードの方法などの解説です。


MacPortsとは

MacPortsは以前DarwinPortsと呼ばれ、MacOSやDarwinに対応しています。Darwinは、アップルが開発しているUnix系のOSです。

スクリプト言語は、TCLという独自のものを使用しています。

MacPortsが以前DarwinPortsと呼ばれていたのは、OpenDarwinプロジェクトにちなんでつけられました。

DarwinPortsは、このプロジェクトで開発され、アップルの従業員が多く携わっていたためです。現在はMacPortsの名前で認識されています。

MacPortsは、パッケージ管理システムです。ターミナルを介してパッケージを多く導入することが可能です。

ターミナルを立ち上げて、「sudo prot install: xxxx」と入力するだけで導入できます。xxxxには、インストールしたいパッケージの名前を入力するだけです。

MacPortsは、通常Mac OS Forgeに保管されています。

Mac OS Forgeとは、アップルが第三者プロジェクトのために設置したオープンソースホスティングサービスのことです。


MacPortsのインストール手順

MacPortsをインストールするには、事前準備が必要です。

それは、Xcodeが必要になります。XcodeをインストールするにはCommand Line Toolsが必要です。

ここではMacPortsのインストール手順について紹介します。


準備

まず、準備として、Xcodeのライセンスが有効か、Command Line Toolsがインストールされているかを確認します。

Command Line Toolsが必要なのは、C言語を使う際、Macではコンパイラが必要になるかです。

コンパイラがインストールされていないとMacでC言語を使ったプログラムが作成できません。

MacOSが最新版の場合はCommand Line Toolsをインストールしようとしたらエラーが出て、デフォルトで設定されていることもあります。

コンパイラをインストールするためには、ターミナルを起動して「gcc」と入力するだけです。 

ツールのインストールを確認するメッセージが表れて、あとは順に同意やインストールを押すと完了します。

Command Line Toolsをインストールしたら、次は、Xcodeです。

Xcodeのライセンス認証は同じくターミナルを使います。ターミナルを起動したら次のコマンドを入力してenterです。

  1. $ sudo xcodebuild -license

ライセンスの内容が表示されるのでページを送ります。

最後に「By typing ‘agree’………, [agree, print, cancel]という文言が表示されるので「agree」と入力で完了です。

最後に、MacPortsのファイルをホームページからダウンロードして準備完了になります。


インストール

準備が整ったら次は、MacPortsのインストールです。ダウンロードしたファイルを開きます。

インストーラーが立ち上がるので、「続ける」を押して次に進むだけです。続けるを押していくと、使用許諾契約書の同意画面が表れます。

同意をクリックして次に進んでいくと「インストール」ボタンが表示され、クリックしたら完了です。

MacPortsは、この手順でインストールすることができます。


MacPorts基本操作

MacPortsを操作するためには、コマンドが必要です。MacPortsの場合はよく使うコマンドがあります。

MacPortsでコマンドを入力する際portというワードを使いますが、これはパッケージのことです。

ここでは、MacPortsで頻出のコマンドを紹介します。


頻出コマンド

MacPortsでよく使うコマンドを紹介します。

まず、インストールされたportsを確認するコマンドは下記になります。

  1. $ port installed

インストール可能なパッケージ一覧を確認するためのコマンドが下記です。

  1. $ port list

インストールしたいパッケージなどを探したい時に使う検索機能は、コマンドにsearchを入れます。‘keywords’には、検索したいportの名前を入力が必要です。

  1. $ port search ‘keywords’

portsをインストールしたい場合は、下記のコマンドを使います。‘ports’の中には、通常、インストールしたいパッケージの名前を入力します。

  1. $ port install ‘ports’

portのオプションであるvariantsを確認したい場合は、下記のコマンドを入力するとオプションを確認することが可能です。

‘ports’の中には、通常、パッケージの名前を入力します。

  1. $ port variants ‘ports’

MacPortsをアップデートして最新のものにするためには、下記のコマンドを入力することでMacPortsを最新版にすることが可能です。

  1. $ sudo port selfupdate

MacPortsでパッケージの詳細を確認するためのコマンドは、下記になります。portsは、パッケージの名前を入力が必要です。

  1. $ sudo port info ‘ports’


注意点

MacPortsは、常に最新版にしておく必要があります。MacPortsがインストールできるのは、対象パッケージだけです。

このパッケージのURLは、自動的に新しいものがアップデートされるわけではありません。

バージョンが更新されたらURLが古くなってしまうため、新しいパッケージへの更新が必要です。

新しいパッケージに更新するためには、MacPortsが常に最新の状態でなければできません。


MacPortsの長所

MacPortsは、Macユーザーにとても馴染みのあるパッケージ管理ソフトです。利用者も多いことからMacPortsの調書について調べました。

MacPortsの長所は、「OS環境への依存が少ない」、「Appleがサポートしている」「Variantsの追加・削除が簡単」です。

それぞれの長所について解説していきます。


OS環境への依存が少ない

MacPortsはMacOSにあるソフトに依存せず、必要なパッケージを追加したり、不要になったら削除したりします。

OS環境への依存が少なく、MacPortsの環境はOS環境から切り離しているため、リスクヘッジなどができることはメリットです。


Appleがサポートしている

MacPortsは、Appleが提供しているオープンソースホスティングサービスのMac OS Forgeにホストされています。

Apple社員もプロジェクトに多く関わったことで有名です。

Appleの社員がよく知っているパッケージ管理ソフトであるMacPortsは、今後のアップデートが楽しみなところはメリットになります。


Variantsの追加・削除が簡単

MacPortsはOS環境に依存していないため、必要なパッケージを追加するか不要なパッケージを削除します。

Variantsの数は他のパッケージ管理ソフトに比べて少ないため、追加や削除が簡単です。


MacPorts以外のパッケージ管理ソフト

MacPorts以外にもMacOSに対応したパッケージ管理ソフトがあります。

MacPortsを検索するとよくあがるのは、「Homebrew」と「Fink」です。ここではその「Homebrew」と「Fink」について解説します。


Homebrew

Homebrewは、MacPorts同様、macOSやLinux対応のパッケージ管理システムです。ビールにりんごが見え隠れしている独特のロゴはインパクトがあります。

Homebrewは、MacPortsやFinkに劣らず、シェア拡大しているオープンソースです。Homebrewは、コマンドにbrewをつけて入力します。

使用されるスクリプト言語は、Rubyです。設定や使い勝手が良く、ユーザーに評価の高いパッケージ管理システムになります。


Fink

Finkは、Unixを対象としたパッケージ管理システムです。

MacPortsやHomebrewが同じパッケージ管理システムとして比較対象になります。

FinkはMacOSだけでなく、Darwinでも使えるように開発されたオープンソースです。Finkが使用するコマンドラインは、finkを使用します。

他にFinkで使用されているコマンドラインは、Debianプロジェクトが開発したコマンドです。

それは、dpkgとaptが使えます。Finkga使用するスクリプト言語は、Perlです。


MacPortsとHomebrew比較

比較対象によく上がるMacportsとHomebrewを比較していきます。MacPortsとHomebrewは共に、MacOSに対応したパッケージ管理ソフトです。


使用言語

Macユーザーにはどちらも馴染みがあります。MacPortsは、スクリプト言語がTCLに対して、Homebrewは、Rubyです。


ダウンロード手順

MacPortsは、ダウンロードするために、予めパッケージを用意します。

一方、Homebrewは、ダウンロードするにあたり、コードをターミナルに入力するだけです。

加えて、MacPortsをインストールするためには、Xcodeが必要になります。


MacPortsとFink比較

Macのパッケージ管理ソフトには、Finkの名前が必ずあがります。

ただ、FinkがMacPortsやHomebrewと違うことは、MacOSよりLinuxやUnixで使用することを想定されているということです。

コンパイルが自動化されていることパッケージに機能が豊富なメリットがあります。

加えて、LinuxやUnix用に開発されたツールなどを使うことができるのもメリットです。

MacPortsと比較するとツリーが細かく管理が容易ではないことから初心者にとってハードルが高くなります。

しかし、細かな管理をしたいユーザーにはメリットです。

ツリーが細かく管理されていることは、細かく管理したいユーザーにとっては、管理しやすくなります。


MacPortsの短所

MacPortsは、長所ばかりでなく、短所もあります。MacPortsの短所は、「インストールが手間」「メモリ消費が増加する」ことです。

ここでは、MacPortsの短所についての紹介します。


インストールが手間

MacPortsをインストールするためには、Xcodeが必要になります。

Xcodeは、インストールした後ライセンス承認が必要です。ダウンロードに時間を要したり、エラーが出て修正するのに時間がかかったりと手間になります。

他のパッケージ管理ソフトに比べてインストールが一部手間なところはデメリットです。


メモリ消費が増加する

MacPortsは、OS環境に依存しないのはメリットです。

反面、必要となるvariantを常に追加していくこととすでにOSにある環境を積極的に使わないことから重複する事例が発生しています。

パッケージが重複してしまうと危惧するのは、パッケージ依存に陥る可能性があることです。

パッケージ依存してしまうとダウンロードに時間がかかることメモリ消費が増えることがデメリットになります。


まとめ

MacPortsは、コミュニティがしっかりしていることパッケージ管理がしやすいことがユーザーウケの理由です。

OS環境に依存していないところもメリットになります。MacPortsは、アップルユーザーなら一度は触れておくべきパッケージ管理システムです。

もちろん、長所と短所があるのでうまく付き合うことがキーポイントになります。