Heavy Watal

Homebrew

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

https://brew.sh/

Installation

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

    xcode-select --install
    

    Xcodeを丸ごとインストールしてある場合でも独立CLTが必要らしい。

  2. ターミナルから下記のコマンドを実行し、指示に従う:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    
  3. ちゃんと入ったか確認:

    brew doctor
    

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

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

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

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

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
lftp
make
nano
nkf
pandoc
parallel
rsync
sshfs
tmux
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 install のような形で使っていたが、 今は brew 本体に統合されている。 同名のformulaがある場合などは --cask で限定できる:

brew install --cask r rstudio
brew list --cask

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

adobe-acrobat-reader amazon-photos atom basictex bibdesk discord docker dropbox firefox gephi gimp gitter google-backup-and-sync google-chrome google-japanese-ime inkscape iterm2 julia kindle libreoffice macfuse marshallofsound-google-play-music-player megasync menumeters r rstudio skim skype slack spideroakone spotify the-unarchiver virtualbox visual-studio-code vlc whatsapp xquartz zoom

Quicklook

Fonts

brew tap homebrew/cask-fonts

font-ubuntu font-ubuntu-mono font-noto-sans font-noto-serif font-noto-sans-mono font-open-sans font-roboto font-dejavu font-libertinus font-lora font-merriweather font-tex-gyre-pagella font-tex-gyre-pagella-math