アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

MacPortsの基本的な使い方とコマンド

Macに移行して2ヶ月になりそうな今日この頃、ようやくMacになれてきた熊谷です。こんにちは。

MacというかOSX上で開発を行う上で欠かせないものにMacPortsがあります。前回もちょっと触れたのですが、今回はこれについてもうちょっと触れたいたいと思います。

MacPortsとはOSXで利用可能なパッケージ管理システムで、これを使うことによりOSX上でより良いUNIX生活を送ることができるようになります。私自身、まだMacPortsを使い始めたばかりで勉強中なんですが、それを忘れないようにするためにもメモ書きします。

まず、MacPortsをインストールするためにはOSXの開発環境であるXcode Toolsをインストールしておく必要があります。Xcode ToolsはMacに付属しているDVDかDeveloper Connectionからダウンロードしてインストールしておきます。で、MacPortsのサイトからMacPortsをダウンロードしてインストールします。そして環境変数の設定、MacPorts/opt/local以下にインストールされるので、それに関連した環境変数を設定します。


export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/man:$MANPATH

以上で、MacPortsが使えるようになります。簡単ですね!

で、使い方は以下のようになります。

MacPorts自身とそのリストを最新の状態に更新するコマンドは、


$ sudo port selfupdate

debianでいう apt-get update みたいなものですね。

インストールしたいパッケージを探すコマンドは、


$ port search 検索語句

debianでいう apt-cache search 検索語句 みたいなもんですね。

パッケージをインストールするコマンドは、


$ sudo port install パッケージ名

debianでいう apt-get install インストールするパッケージ名 みたいなもんですね。

パッケージをアンインストールするコマンドは、


$ sudo port uninstall パッケージ名

debianでいう apt-get remove アンインストールするパッケージ名 みたいなもんですね。

でもって、MacPortsにはvariantsとよばれるオプションがあります。MacPortsはバイナリファイルを取得してインストールという流れではなく、提供されているPortfileを元にソースを取得しconfigureをしてビルドしてインストールという作業を行っています。で、このvariantsのオプションを指定すると、Portfileで指定されているconfigureオプション等を使ってビルドされたりといったように、そのパッケージの機能を選択することができます。パッケージによって持っているオプションは違うので、もしvariantsを指定したい場合はそれを調べて、インストール時にそのvariantsを指定します。

パッケージのvariantsを表示するコマンドは、


$ port variants パッケージ名

で表示することができます。

そして、上記コマンドで使いたいオプションを確認しインストール時に、


$ sudo port install パッケージ名 +オプション +オプション

といったように +オプション で指定していきます。

例えば、php5のvariantsをみてみると、

こんな風に表示されます。で、この中から使いたいオプションを選び



$ sudo port -d install php5 +apache2 +macosx +mysql5 +pear +postgresql +sockets +sqlite

といった感じでインストールします。

そんなこんなんで、システムにインストールされてあるパッケージは何があるかな?と思ってその一覧を見たいことがあるかもしれません。そんなときは


$ port installed

でその一覧が表示されます。

また、インストールしたけどアンインストールしたくない、でもちょっとの間だけインストールしなかったことにしたいということがあるかもしれません。そんなときは


$ sudo port deactivate パッケージ名

で、一時的に無効になります。有効にするときは


$ sudo port activate パッケージ名

です。

さらに、使っているパッケージのバージョンがあがったときはどうすればいいのでしょうか。最初に紹介したselfupdateを実行して、


$ port outdated

でバージョンがあがっているパッケージが一覧表示されます。

あとは、


$ sudo port upgrade installed

ですべてアップグレードしてもいいですし、


$ sudo port upgrade パッケージ名

で個別にアップグレードという方法もあります。

ということで、以上のコマンドを知っていればそれなりにMacPortsを使えるようになると思います。もちろん、これ以外にもまだまだコマンドはあるわけで、port helpとすればヘルプが出てきます。また、

のサイトがとても参考になりますので、もっと詳しく知りたい方はこちらを参照してみてください。