【Mac】MacPortsからHomebrewに移行する。(各コマンドの比較付)


対象読者

  • MacPortsからHomebrewに乗り換えたい人
  • パッケージ管理はだいたい知っている人。

やること

  • MacPortsをアンインストール
  • Homebrewをインストール
  • 各コマンドの比較

MacPortsをアンインストール

公式ドキュメントから参照します。

まず下記のコマンドも打ちましょう。


$ sudo port -fp uninstall installed

ディレクトリも全て削除しましょう。


$ sudo rm -rf \
        /opt/local \
        /Applications/DarwinPorts \
        /Applications/MacPorts \
        /Library/LaunchDaemons/org.macports.* \
        /Library/Receipts/DarwinPorts*.pkg \
        /Library/Receipts/MacPorts*.pkg \
        /Library/StartupItems/DarwinPortsStartup \
        /Library/Tcl/darwinports1.0 \
        /Library/Tcl/macports1.0 \
        ~/.macports

最後に完全に消えたか、port versionで確認しましょう。


$ port version                                                                                                                                                                              
zsh: command not found: port

Homebrewのインストール

下記の公式ページに飛んで、ターミナルにスクリプトを貼り付けて実行してください。
https://brew.sh/index_ja

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

最後にバージョンを確認しましょう。
Homebrewではbrewのコマンドを使用します。


$ brew -v                                                                                                                                                                                    
Homebrew 2.1.6
Homebrew/homebrew-core (git revision 0144; last commit 2019-07-06)

各コマンドの種類と比較

MacPortsとHomebrewのコマンドを比較します。

パッケージ管理のアップデート

MacPortsの場合
$ sudo port -d selfupdate
Homebrewの場合

$ brew update

Homebrewの方がシンプルですね。

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

MacPortsの場合
$ port search 検索語句
Homebrewの場合

$ brew search 検索語句

ほとんど一緒ですね。

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

MacPortsの場合
$ sudo port install パッケージ名
Homebrewの場合

$ brew install パッケージ名

Homebrewでは一般ユーザでインストールを実行できます。

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

MacPortsの場合
$ sudo port uninstall パッケージ名
Homebrewの場合

$ brew uninstall パッケージ名

こちらもHomebrewでは一般ユーザでアンストールを実行できます。

インストールしたパッケージを一覧を表示する。

MacPortsの場合
$ port installed
Homebrewの場合

$ brew list

Homebrewではlistでインストールしたパッケージを全て確認できます。

パッケージに更新があるか、確認するとき

MacPortsの場合
$ port outdated
Homebrewの場合

$ brew outdated

ほぼ同じコマンドですね。

全てのパッケージの更新をするとき

MacPortsの場合
$ sudo port upgrade installed
Homebrewの場合

$ brew upgrade

こちらもHomebrewでは一般ユーザで実行できるのと、コマンドがシンプルですね。

個別のパッケージの更新をするとき

MacPortsの場合
$ sudo port upgrade パッケージ名
Homebrewの場合

$ brew upgrade パッケージ名

こちらもHomebrewでは一般ユーザで実行できます。最後にパッケージ名を書く必要があります。

パッケージの詳細情報の表示

MacPortsの場合
$ sudo port info パッケージ名
Homebrewの場合

$ brew info パッケージ名

ほとんど一緒ですね。

パッケージの無効化

MacPortsの場合
$ sudo port deactivate パッケージ名 バージョン
Homebrewの場合

$ brew unlink パッケージ名

Homebrewはunlink、MacPortsはdeactivateですね。

パッケージの有効化

MacPortsの場合
$ sudo port activate パッケージ名 バージョン
Homebrewの場合

$ brew link パッケージ名

Homebrewはlink、MacPortsはactivateですね。

最後に

HomebrewはMacPortsに比べてコマンドがスッキリしている印象です。
後は一般ユーザで実行できるのは強いですね。
覚えやすいので、MacPortsを使っている人はこれを機にHomebrewに乗り換えてみてはどうでしょうか。

何か間違っていたり、修正があれば教えてくれると助かります。