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

#対象読者
- MacPortsからHomebrewに乗り換えたい人
- パッケージ管理はだいたい知っている人。

#やること
- MacPortsをアンインストール
- Homebrewをインストール
- 各コマンドの比較



#MacPortsをアンインストール
[公式ドキュメントから参照します。](https://guide.macports.org/#installing.macports.uninstalling)

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

```zsh

$ sudo port -fp uninstall installed
```

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


```zsh

$ 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`で確認しましょう。

```zsh

$ port version                                                                                                                                                                              
zsh: command not found: port
```

#Homebrewのインストール

下記の公式ページに飛んで、ターミナルにスクリプトを貼り付けて実行してください。
https://brew.sh/index_ja
![brew.sh_index_ja.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387875/5684f848-64da-5760-6fab-90982ec822c4.png)

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

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

```zsh

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

#各コマンドの種類と比較
MacPortsとHomebrewのコマンドを比較します。

##パッケージ管理のアップデート
```zsh:MacPortsの場合
$ sudo port -d selfupdate
```

```zsh:Homebrewの場合

$ brew update
```
Homebrewの方がシンプルですね。

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

```zsh:MacPortsの場合
$ port search 検索語句
```

```zsh:Homebrewの場合

$ brew search 検索語句
```
ほとんど一緒ですね。

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

```zsh:MacPortsの場合
$ sudo port install パッケージ名
```

```zsh:Homebrewの場合

$ brew install パッケージ名
```
Homebrewでは一般ユーザでインストールを実行できます。

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

```zsh:MacPortsの場合
$ sudo port uninstall パッケージ名
```

```zsh:Homebrewの場合

$ brew uninstall パッケージ名
```
こちらもHomebrewでは一般ユーザでアンストールを実行できます。

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

```zsh:MacPortsの場合
$ port installed
```

```zsh:Homebrewの場合

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


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

```zsh:MacPortsの場合
$ port outdated
```

```zsh:Homebrewの場合

$ brew outdated
```
ほぼ同じコマンドですね。

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

```zsh:MacPortsの場合
$ sudo port upgrade installed
```

```zsh:Homebrewの場合

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

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

```zsh:MacPortsの場合
$ sudo port upgrade パッケージ名
```

```zsh:Homebrewの場合

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

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

```zsh:MacPortsの場合
$ sudo port info パッケージ名
```

```zsh:Homebrewの場合

$ brew info パッケージ名
```
ほとんど一緒ですね。

##パッケージの無効化

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

```zsh:Homebrewの場合

$ brew unlink パッケージ名
```
Homebrewは`unlink`、MacPortsは`deactivate`ですね。

##パッケージの有効化
```zsh:MacPortsの場合
$ sudo port activate パッケージ名 バージョン
```

```zsh:Homebrewの場合

$ brew link パッケージ名
```
Homebrewは`link`、MacPortsは`activate`ですね。

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

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