MacへのGNUのコマンドのインストール
久しぶりにMacminiの環境構築を行うことにしたので、セットアップ内容をメモしておきます。今回は基本的、日常的に利用するコマンド群のインストールについてです。
Homebrewのインストール
ひとまずHomebrewをインストールします。公式サイトの手順より以下のコマンドを実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
時間は少々かかりますが特に問題はなく完了できます。
GNUのコマンドのインストール
coreutils
などのコマンドはg
というprefixがつくのですが、これはめんどくさいので同名のコマンドで上書きしてほしいです。
以前、自分で書いたMacの開発環境構築メモ - kawaken’s blogがあるのですが、オプションが変わっているようで
—with-default-names
が利用できなくなっています。
keg-only
という特定の場所にファイルをインストールするだけ(/usr/local/bin
などに配置しない)というコマンドもあるので、ひとまずインストールした後
PATH
を追加する必要があります。
% brew install binutils
(snip)
If you need to have binutils first in your PATH run:
echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> ~/.zshrc
% echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> ~/.zshrc
% brew install findutils
(snip)
All commands have been installed with the prefix "g".
If you need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:
PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"
% echo 'export PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"' >> ~/.zshrc
以降、似たようにPATHを追加する必要がある旨の表示が出てきますが、後でまとめて
PATH
に追加します。
brew install gnu-indent gnu-sed gnu-tar gnu-which
brew install gawk grep watch gzip base64
brew install diffutils coreutils moreutils
PATHの追加
インストールしたコマンドは基本的には
/usr/local/opt/*/libexec/gnubin
というディレクトリに配置されています。
% find /usr/local/opt -type d -follow -name gnubin
/usr/local/opt/coreutils/libexec/gnubin
/usr/local/opt/gnu-indent/libexec/gnubin
/usr/local/opt/gnu-tar/libexec/gnubin
/usr/local/opt/grep/libexec/gnubin
/usr/local/opt/gnu-sed/libexec/gnubin
/usr/local/opt/gawk/libexec/gnubin
/usr/local/opt/findutils/libexec/gnubin
/usr/local/opt/gnu-which/libexec/gnubin
なので、これらのディレクトリを
PATH
に含むように.zshrc
に設定します。
# append gnubin to PATH
for d in /usr/local/opt/*/libexec/gnubin; do
export PATH=$d:$PATH
done
インストールした段階で
/usr/local/bin
に配置されるコマンドもありますが、ひとまずこれで設定してみました。