Heavy Watal

Homebrew

Unixツールをパッケージとして手軽にインストールできるMac用パッケージ管理ソフト。

https://brew.sh/

Installation

https://docs.brew.sh/Installation.html

  1. Command Line Tools をインストールする。 cf. /dev/devenv

  2. ターミナルから下記のコマンドを実行し、指示に従ってパスワードを入力する:

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

    デフォルトの /usr/local/ にインストールするのが嫌なら、 例えばホーム以下の ~/.homebrew/ にインストールすることもできる:

    cd
    mkdir .homebrew
    curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C .homebrew

    が、/usr/local/ 以外にインストールすると、 bottle機能を封じられて毎回自前ビルドする仕様になってしまったので、 非力なラップトップとかでは結構厳しい。

  3. .zshenv (もしくは.zshrc) でパスを通す:

    PATH=${HOME}/.homebrew/bin:/usr/local/bin:${PATH}
    brew_prefix=$(brew --prefix 2>/dev/null)
    if [ -n "${brew_prefix}" ]; then
        MANPATH=${brew_prefix}/share/man:${MANPATH}
        fpath=(${brew_prefix}/share/zsh-completions ${fpath})
    fi
    unset brew_prefix

Usage

https://docs.brew.sh/FAQ.html

brew install

公式リポジトリから明示的にインストールしたものメモ:

aspell
autoconf
automake
binutils
boost
cmake
coreutils
diffutils
doxygen
eigen
emacs
findutils
git
gnu-sed
gnu-tar
go
grep
imagemagick
less
make
mercurial
nano
nkf
pandoc
rmtrash
rsync
sshfs
tmux
tree
vim
wget
xz
zopfli
zsh
zsh-completions

Rをここからインストールするとバイナリ版のパッケージが利用できず、 毎回ソースからビルドすることになるので、 後述のcaskのほうの r を入れるほうが簡単。

coreutils, gnu-sed, gnu-tar, grep などは既存のコマンドとごっちゃにならないよう頭に g を付けてインストールしてくれる。 元の名前でアクセスする方法はいくつかあるが、 $(brew --prefix)/opt/{coreutils,gnu-sed,gnu-tar,grep}/libexec/gnubinPATH を通すのが楽ちん。 brew unlink coreutils gnu-sed gnu-tar grep してもそれらのディレクトリは残る。

brew tap

明示的にリポジトリを追加する:

brew tap brewsci/bio
brew install libsequence

暗黙に brew tap しつつ直接インストールも可能: brew install brewsci/bio/libsequence

バイオインフォマティクスなど科学計算のツール群はHomebrew公式タップ homebrew/science に収録されていたがdeprecatedになった。 brewsci/science がフォーミュラを一旦引き継いで、 homebrew/corebrewsci/bio に振り分けて移行を進めている。

Tapを作る

https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap.html

GitHubに homebrew-nicetap のような名前のリポジトリを作成し、 ルート直下の Formula/goodtool.rb のようなファイルを置くだけ。 使うときは brew install <username>/nicetap/goodtool のようにリポジトリ名から homebrew- を削った形で指定する。

Formulaを作る

https://docs.brew.sh/Formula-Cookbook.html

新規作成するには brew create <URL> コマンドが便利。

url には git tag でGitHubに作られるバージョン付きアーカイブを指定してやるのが楽ちん。

head にリポジトリを登録してバージョン無しで運用することも可能。 ただし brew upgrade ではHEADの更新をチェックしてくれないので要注意。 brew reinstall するしかないのかな?

Cask

GUIアプリケーションもHomebrewで管理してしまおうという野心的な拡張機能。 使うときは普通の brew コマンドに cask を挟むだけ:

brew cask install atom
brew cask list

アプリ側でアップデートを実行するとCask内でのバージョンと食い違っちゃうけど使用上は問題ないらしい。

alfred, amazon-drive, amazon-music, atom, basictex, bibdesk, discord, docker, dropbox, eqmac, firefox, gephi, gimp, gitter, google-backup-and-sync, google-chrome, google-earth, google-japanese-ime, inkscape, iterm2, julia, kindle, libreoffice, marshallofsound-google-play-music-player, megasync, osxfuxe, qlstephen, quicklook-csv, r, rstudio, skim, skyfonts, skype, slack, spideroakone, the-unarchiver, virtualbox, visual-studio-code, vlc, whatsapp, xquartz, yujitach-menumeters