最近macの環境設定の記事などをググるとHomebrewの記事がヒットすることが多く、よくわからず使っていたMacPortsのデメリットやHomebrewのメリットを目にするので、今更ながら移行してみます。
参考にさせていただいたのはパッケージ環境の移行?MacPorts のアンインストールと Homebrew のインストール – TMD45INC!!!こちら。
MacPortsでインストールしたパッケージをすべて削除するので、以下のコマンドの意味がわかるかたのみ実行してください。
MacPortsのアンインストール
# port でインストールしていたパッケージ一覧をメモ $ port installed > port_installed.txt # MacPorts のアンインストールと関連ディレクトリの削除 $ sudo port -f uninstall installed $ sudo rm -rf /opt/local/ # MacPorts 関連の環境変数(PATH など)の削除 $ vi ~/.bash_profile とか適宜 $ source ~/.bash_profile
Homebrewのインストール
Homebrew ? MacPortsは酒でも飲みたくなるでしょ?じゃあHomebrewを使おう!
こちらでインストール方法を確認。20140316時点では以下のコマンドでインストール。
macOS 用パッケージマネージャー ? macOS 用パッケージマネージャーでインストールコマンドを確認。20180512時点では以下のコマンドでインストール。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> Installation successful!
と表示されればOK。
便利設定
Homebrewを快適に使うために設定してる4つのこと | Macとかの雑記帳
こちらを参考に先回りして便利な設定を行います。
$PATHの読込順
まず、Homebrewでインストールしたパッケージが優先されるように、$PATHの設定を行います。
Macをサーバとして利用していたり、ログインユーザごとにPATHの設定を変えたい場合は.bash_profileや.bashrcで設定しても構いませんが、私は/etc/pathsで以下のように設定しました。
sudo vi /etc/paths
/usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin
上から順に読まれるため、/usr/local/binにパッケージがあれば優先されます。
env | grep "PATH"
で/usr/local/bin
と/usr/local/sbin
が/usr/bin
,/bin
や/usr/sbin
,/sbin
より前に表示されていればOKです。
参考サイトに記載されている、aliasやリポジトリの追加、Homebrewの設定は使ってみないと必要になるかわからなかったので、行いませんでした。
MacPortsでインストールしていた必要なパッケージをインストール
初めに書きだしたport_installed.txt
を参照して必要なパッケージをHomebrewからインストールしてみます。
私の場合はbash-completion
くらいで、あとはMac標準のパッケージで問題無さそうでした。
必要なパッケージがあれば適時ブログにメモしたいと思います。
bash-completionのインストール
brew install bash-completion
でbash-completionをインストール。
以前のMacPortsでインストールしていた時は.bash_profileに
# bash-completion if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then . /opt/local/etc/profile.d/bash_completion.sh fi
こう書いていたのを↓のように修正
if [ -f $(brew --prefix)/etc/bash_completion ]; then . $(brew --prefix)/etc/bash_completion fi
git-completion.bashの導入
/usr/local/etc/bash_completion.d/
にgit-completion.bash
を入れるだけ。
git-completion.bashが無ければ、git/contrib/completion/git-completion.bash at master ? git/gitを入れればOK。
おまけ
$ brew help Example usage: brew [info | home | options ] [FORMULA...] brew install FORMULA... brew uninstall FORMULA... brew search [foo] brew list [FORMULA...] brew update brew upgrade [FORMULA...] brew pin/unpin [FORMULA...] Troubleshooting: brew doctor brew install -vd FORMULA brew [--env | --config] Brewing: brew create [URL [--no-fetch]] brew edit [FORMULA...] open https://github.com/Homebrew/homebrew/wiki/Formula-Cookbook Further help: man brew brew home