それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

HomeBrewの仕組みについてまとめておく

Homebrewを使っている。MySQLが入らなくて困ったので、改めてまとめ直す。



Homebrewとは、Macportsに取って代わりそうな、Macでのパッケージインストーラ

home brew インストール

ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)”

homebrew で使う用語について

用語 本来の意味 makeのアナロジー
Brew ビール醸造する make する
HomeBrew 自家醸造 つまり、自分でビルドする意味
Celler ビール貯蔵庫 つまり、インストール先
Keg タル、熟成用 つまり、makeの材料
Formula 調理法 つまりビルド手順が書かれたスクリプト
Pouring ジョッキに注ぐ つまり、Macに注ぐ(イント)

自分でパッケージをビルドして使うってのを、アナロジーで、ビールを自家醸造して、保存して飲むってこと。で表現している。

手順(調理法formula)通りにパッケージをビルド(醸造brew)して保存(/usr/local/cellerに格納)して、使う(/usr/loca/binにリンク)ってことです。

基本操作

とりあえずこれだけ覚えておけば使える。

インストール
ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)” # homebrewインストール
パッケージを探す
brew search mysql

パッケージ・インストール

brew install mysql   #mysql をインストール

パッケージの有効化、無効化

brew unlink mysql # mysqlを一時的に無効にする。
brew link mysql # mysql を有効にする。

パッケージ一覧の更新

brew update   #  formula を更新
brew upgrade  #  更新があるパッケージを再ビルドする

Brew設定を見る

Brewでつかうためのビルド設定を見る。

takuya@air:~$ brew --config
HOMEBREW_VERSION: 0.8
HEAD: c9eca803d676961ead136b07ab145cc1e826b314
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_LIBRARY_PATH: /usr/local/Library/Homebrew
Hardware: quad-core 64-bit sandybridge
OS X: 10.7.2
Kernel Architecture: x86_64
Ruby: 1.8.7-249
/usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
Xcode: 4.2
GCC-4.0: N/A
GCC-4.2: build 5666
LLVM: build 2336
Clang: 3.0-211.1
MacPorts or Fink? false
X11 installed? true

本家にWgetを実例にした例が載っている。

使い方

brew install wget

をはじめ、必要な使い方は本家の最初に書いてあるよ。

パッケージがインストールされたらどこに行くか。

$ cd /usr/local
$ find Cellar
Cellar/wget/1.12
Cellar/wget/1.12/bin/wget
Cellar/wget/1.12/share/man/man1/wget.1

インストールの時にリンク

$ ls -l bin
bin/wget -> ../Cellar/wget/1.12/bin/wget

それぞれ保存される。

  • /usr/local/bin   にコマンドのエイリアスが。
  • /usr/local/Cellar/ にコマンドの実体が

オリジナルBrewery 自家製パッケージの作り方。

brew create http://foo.com/bar-1.0.tgzCreated /usr/local/Library/Formula/foo.rb

既存のものをCustomizeにするには

brew edit wget

Brewの書式はRubyそのものである。

require 'formula'
class Wget < Formula
  homepage 'http://www.gnu.org/wget/'
  url 'http://ftp.gnu.org/wget-1.12.tar.gz'
  md5 '308a5476fc096a8a525d07279a6f6aa3'

  def install
    system "./configure --prefix=#{prefix}"
    system 'make install'
  end
end

次のエントリが詳しいので目を通すと良い。

Homebrew 使い方メモ

Formula を自作するなど、詳しい使い方が書いてある。


brewコマンドの使い方。まとめ

Homebrewの使い方一覧Command Consequence


brew install foo fooをインストール
brew install --HEAD foo fooのHEADバージョンをインストール
brew install --force --HEAD foo fooの新しいHEADバージョンをインストール
brew search インストール可能なすべてのformulaを表示
brew search foo インストール可能なformulaからfooを検索
brew search /foo/ 正規表現fooを検索
brew list インストール済みのformulaeを表示
brew list foo fooのインストールしたファイルを表示
brew info --github foo foo formulaのGithub履歴ページをブラウザで表示
brew info インストール済みのHomebrewパッケージのサマリーを表示
brew info foo インストール済みのfooのすべての情報を表示
brew home HomebrewのWebサイトをデフォルトブラウザで表示
brew home foo fooのWebサイトをデフォルトブラウザで表示
brew update HomebrewのformulaeとHomebrew自体をアップデート
brew remove foo fooのアンインストール
brew create [url] ダウンロード可能なファイルのURLのformulaを生成して$BREW_EDITORか$EDITORで指定されているエディタで開く
brew create url-of-tarball --cache formulaを生成して、tarballをダウンロードする。md5をformulaテンプレートに追加する。
brew create --macports foo どのようにfooをインストールするか調べるために、MacPortsパッケージ検索ページでfooを検索する。
brew create --fink foo Finkで同様のことを行う。
brew edit foo formulaを$HOMEBREW_EDITORか$EDITORで開く
brew link foo fooのインストールされたファイルのHomebrew prefixシンボリックリンク作成する。(Homebrewでインストールすると自動的に行われる。DIYインストールを行った場合に有用。
brew unlink foo Homebrew prefixシンボリックリンクを削除する。
brew prune Homebrewprefixからデッドシンボリックリンクを削除する。
brew outdated 利用可能なアップデートバージョンが存在するformulaを表示する。新しいバージョンをインストールするにはbrew install fooを実行する。
brew upgrade 利用可能なアップデートバージョンが存在するformulaをすべてアップグレードする。
brew --config Homebrewのシステム設定を表示する
brew --prefix Howebrew prefixのパスを表示する。(普通は /usr/local)
brew --prefix (formula) インストールされたformulaのパスを表示する。
brew --cellar Homebrew Cellarのパスを表示する。(普通は /usr/local/Cellar)
brew --cache Homebrew キャッシュダウンロードのパスを表示する。(普通は ~/Library/Caches/Homebrew)
brew doctor インストールの一般的な問題をチェックする。
brew audit すべてのformulaeのコードとスタイルの問題を検査する。
brew cleanup foo インストールしたすべてもしくは特定のformulaeの古いバージョンをcellarから削除する。すべての場合はbrew cleanupを実行する。

http://tech.caph.jp/2011/04/06/homebrewの導入と使い方/

2018-05-13

Pouring について記載を追加