Heavy Watal

Homebrew

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

http://brew.sh/

Installation

http://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

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

brew install

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

aspell
autoconf
binutils
boost
colordiff
coreutils
doxygen
emacs
findutils
gcc
gibo
git
gnu-sed
gnu-tar
gnuplot
graphviz
gsl
mercurial
nkf
pandoc
rmtrash
tmux
tree
wget
xz
zsh
zsh-completions

コンパイル済みパッケージ(bottle)が提供されてる場合はダウンロードだけで済むが、 オプションを付けるとソースからビルドする羽目になるので注意。 gccやboostなどのデカいやつはとりあえずデフォルトで入れたほうが早い。

--force-bottle--build-from-source で明示的に切り替えられる。 しかしいつの間にか、Homebrewが/usr/local/ 以外にインストールしてあるとbottleを使えない仕様になってしまった。

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

brew tap

非公式フォーミュラを公開しているリポジトリを追加する:

% brew tap homebrew/science
% brew install samtools

brew tap せずに直接インストールも可能:

% brew install homebrew/science/samtools

Cask

http://caskroom.io/

GUIアプリケーションもHomebrewで管理してしまおうという野心的な拡張機能。

インストールは1行:

% brew tap caskroom/cask

使うときは普通の brew コマンドに cask を挟むだけ:

% brew cask install libreoffice
% brew cask list

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

alfred, amazon-cloud-drive, atom, audacity, basictex, bibdesk, boostnote, caffeine, dia, dropbox, evernote, firefox, gephi, google-chrome, google-drive, google-earth, google-japanese-ime, inkscape, iterm2, karabiner, kindle, libreoffice, macfusion, megasync, mendeley-desktop, onyx, openoffice, osxfuse, quicksilver, rstudio, seashore, skim, skitch, skyfonts, skype, spideroakone, sshfs, the-unarchiver, vlc, yujitach-menumeters