Asial Blog

Recruit! Asialで一緒に働きませんか?

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

カテゴリ :
日常
タグ :
Tech
Mac
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以下にインストールされるので、それに関連した環境変数を設定します。
  1. export PATH=/opt/local/bin:/opt/local/sbin:$PATH
  2. export MANPATH=/opt/local/man:$MANPATH
以上で、MacPortsが使えるようになります。簡単ですね!

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

MacPorts自身とそのリストを最新の状態に更新するコマンドは、
  1. $ sudo port selfupdate
debianでいう apt-get update みたいなものですね。

インストールしたいパッケージを探すコマンドは、
  1. $ port search 検索語句
debianでいう apt-cache search 検索語句 みたいなもんですね。

パッケージをインストールするコマンドは、
  1. $ sudo port install パッケージ名
debianでいう apt-get install インストールするパッケージ名 みたいなもんですね。

パッケージをアンインストールするコマンドは、
  1. $ sudo port uninstall パッケージ名
debianでいう apt-get remove アンインストールするパッケージ名 みたいなもんですね。

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

パッケージのvariantsを表示するコマンドは、
  1. $ port variants パッケージ名
で表示することができます。

そして、上記コマンドで使いたいオプションを確認しインストール時に、
  1. $ sudo port install パッケージ名 +オプション +オプション
といったように +オプション で指定していきます。

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

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

  1. $ sudo port -d install php5 +apache2 +macosx +mysql5 +pear +postgresql +sockets +sqlite
といった感じでインストールします。

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

また、インストールしたけどアンインストールしたくない、でもちょっとの間だけインストールしなかったことにしたいということがあるかもしれません。そんなときは
  1. $ sudo port deactivate パッケージ名
で、一時的に無効になります。有効にするときは
  1. $ sudo port activate パッケージ名
です。

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

あとは、
  1. $ sudo port upgrade installed
ですべてアップグレードしてもいいですし、
  1. $ sudo port upgrade パッケージ名
で個別にアップグレードという方法もあります。

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

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