Movatterモバイル変換


[0]ホーム

URL:


2011年1月8日土曜日

Homebrew コマンドのまとめ

kodをビルドしようとして、
brew install source-highlight
ができなかったため、急遽brewについて調べてわかったことのまとめです。

インストールできなかった理由は単にbrewが古い状態のままだったから、です。こういうときは

brew update
とすればbrew本体とインストールできるformulaをアップデートできます。
以下、
man brew
の簡単な抜粋自分用。

[option]


-v --verbose

brew -v command [formula]
様々な情報を全部出力する。例えば
brew -v install gnu-time
とすると
Homebrew 0.7.1==> Build EnvironmentCC: /usr/bin/cc => /usr/bin/gcc-4.2CXX: /usr/bin/c++ => /usr/bin/c++-4.2LD: /usr/bin/cc => /usr/bin/gcc-4.2CFLAGS: -O3 -march=core2 -msse4 -w -pipeCXXFLAGS: -O3 -march=core2 -msse4 -w -pipeMAKEFLAGS: -j4==> Downloading http://ftp.gnu.org/gnu/time/time-1.7.tar.gzFile already downloaded and cached to /Users/ishizakitetsu/Library/Caches/Homebrew/usr/bin/tar xf /Users/ishizakitetsu/Library/Caches/Homebrew/gnu-time-1.7.tar.gz==> ./configure --program-prefix=g --prefix=/usr/local/Cellar/gnu-time/1.7 --mandir=/usr/local/Cellar/gnu-time/1.7/share/man./configure --program-prefix=g --prefix=/usr/local/Cellar/gnu-time/1.7 --mandir=/usr/local/Cellar/gnu-time/1.7/share/mancreating cache ./config.cachechecking for gcc... /usr/bin/ccchecking whether we are using GNU C... yeschecking how to run the C preprocessor... /usr/bin/cc -Echecking for a BSD compatible install... /usr/bin/install -cchecking whether cross-compiling... nochecking for ANSI C header files... yeschecking for sys/wait.h that is POSIX.1 compatible... yeschecking for unistd.h... yes
てな感じでビルド中の出力が全部表示される。普通は
==> Downloading http://ftp.gnu.org/gnu/sed/sed-4.2.1.tar.bz2######################################################################## 100.0%==> ./configure --prefix=/usr/local/Cellar/gnu-sed/4.2.1 --disable-dependency-tracking --progr==> make install/usr/local/Cellar/gnu-sed/4.2.1: 8 files, 452K, built in 15 seconds
これだけです。
ただし
brew -v
だけならbrewのバージョンが表示されるだけ。

[command]

install

  • --force   上書きでインストール。
  • --debug  ビルドに失敗したらコンパイル中のフォルダをターミナルで開く。
  • --use-llvm  LLVMを適用してビルド。LLVMについてはこちらで。
  • --ignore-dependencies 全ての依存関係を無視してビルド。依存関係のあるformulaがインストールされていないときは必然的に失敗します。
  • --HEAD master, trunk, unstable, dev、いずれかのブランチを使ってHEAD版をビルド。便利ですな。もちろんftpとかでソースを落としてくるformulaでは無効です。

install --interactive [--git] formula
普通のinstallと違って、ソースをダウンロードし終わったところでターミナルが開く。主に
./configure --help
用とmanには書いてありますな。--gitをつけるとパッチを作るためのgitリポジトリを作ってくれるそうな。

-S, search text|/text/
検索。textで与えられた文字列でformulaを探す。スラッシュ「/」で囲めば正規表現で検索できる。文字列が何もなかったら現在インストールできるformulaを全部出力。

-S --macports|--fink text
-Sに--macportsか--finkつけると、MacPortsかFinkのパッケージ検索ページで文字列を検索。
brew -S --fink gedit
と入力したところ、ブラウザが開いてこのページが表示されました。「ちくしょー、Finkならあるのか?」というとき用ですかね。

update
GitHubからHOmeBrewの新しいバーッジョンを取得します。ソースの「homebrew / Library / Formula」内に現在インストールできるformulaファイルがあるので、当然新しいformulaもインストールできるようになる、と。

list
インストール済みのformula一覧を表示。
list formula
formulaのインストール済みファイルの一覧。
brew list joe/usr/local/Cellar/joe/3.7/bin/termidx/usr/local/Cellar/joe/3.7/bin/rjoe/usr/local/Cellar/joe/3.7/bin/jstar/usr/local/Cellar/joe/3.7/bin/jpico/usr/local/Cellar/joe/3.7/bin/joe/usr/local/Cellar/joe/3.7/bin/jmacs/usr/local/Cellar/joe/3.7/etc/joe/ (7 files)/usr/local/Cellar/joe/3.7/share/doc/ (6 files)/usr/local/Cellar/joe/3.7/share/joe/ (48 files)/usr/local/Cellar/joe/3.7/share/man/ (2 files)

info formula
brew info joejoe 3.7http://joe-editor.sourceforge.net/index.html/usr/local/Cellar/joe/3.7 (68 files, 1.6M)http://github.com/mxcl/homebrew/commits/master/Library/Formula/joe.rb
ちなみにjoeはDOSライクなコマンドラインエディタでありまして、zau使ってるときからのお気に入り。

info --github formula
formulaのgithubのHistoryページをブラウザで表示させる。formulaとしてのヒストリなんで、例えばjoeならこのページにとぶ。これをローカルで表示させるのが
brew log -p [formula]

joeだとこうなる。
brew log -p joecommit c2dd245ee04ca662a6ba2752e2bf4b0c39c1068cAuthor: Mike ArthurDate:   Thu Nov 12 14:09:19 2009 +0100    Be nicer to Sourceforge by using their gateway server        Thus we download from the best mirror always.diff --git a/Library/Formula/joe.rb b/Library/Formula/joe.rbindex 9513d02..36cc102 100644--- a/Library/Formula/joe.rb+++ b/Library/Formula/joe.rb@@ -1,7 +1,7 @@ require 'formula'  class Joe Formula-  url 'http://dfn.dl.sourceforge.net/project/joe-editor/JOE%20sources/joe-3.7/joe-3.7.tar.gz'+  url 'http://downloads.sourceforge.net/project/joe-editor/JOE%20sources/joe-3.7/joe-3.7.tar.gz'   homepage 'http://joe-editor.sourceforge.net/index.html'   md5 '66de1b073e869ba12abbfcde3885c577' commit 085802a59b2804390cd6047fcec7e43572fe0198Author: Julian StahnkeDate:   Thu Oct 29 18:54:34 2009 +0100    JOE formula        JOE (Joe's Own Editor) is a very basic text editordiff --git a/Library/Formula/joe.rb b/Library/Formula/joe.rbnew file mode 100644index 0000000..9513d02--- /dev/null+++ b/Library/Formula/joe.rb@@ -0,0 +1,12 @@+require 'formula'++class Joe Formula+  url 'http://dfn.dl.sourceforge.net/project/joe-editor/JOE%20sources/joe-3.7/joe-3.7.tar.gz'+  homepage 'http://joe-editor.sourceforge.net/index.html'+  md5 '66de1b073e869ba12abbfcde3885c577'++  def install+    system "./configure", "--prefix=#{prefix}"+    system "make install"

info URL
URL先のページの名前を返す。何のためにあるんだろ。(^^;)

home
HomeBrewのホームページを表示する。

home formula
formulaのホームページを表示する。

rm, remove, uninstall [--force] formula
formulaのアンインストール。
--forceオプションで、インストールされている全部のバージョンを削除する。便利だな。

create [--cache] URL
URLでダウンロード可能なファイルを落としてきて、自動でformulaの名前とバージョンを決めて、formulaを$EDITORで開く。これは試してないんで実際にどうなるかはわかりません。--cacheをつけるとURLのファイルを落としてきてMD5を作ってくれる、と。URL上にダウンロード可能なファイルをごろん、と置いてあるプロジェクト、ということかな。

edit formula
formulaファイルを$EDITORで開く。

edit
TextMateで全部のformulaを開く、のかな?TextMateをアンインストールしているうちの環境では
Error: No such file or directory - mate
で終了(^^;)。

ln, link formula
全部のインストール済みformulaに、HomeBrewのprefixでSymLinkを貼る。brew install [formula]とやると自動で作られるので、自分でインストールした(野良ビルドとか?)もの用、だそうですがよくわかんない。

unlink formula
linkの反対。一時的にformulaのアプリを使えなくするために使え、ということで。

prune
すでに存在していないSymLinkを取り除く。基本的に使わないでいいそうです。

deps [--1] formula
依存関係を表示する。--1つけると依存関係を1レベルだけ表示する。formulaをビルドするのに必要なformula、そのformulaをビルドするのに必要な・・・という意味でのレベルですね。

uses [--installed] formula
そのformulaに依存しているformulaをリストして表示する。--installedをつけると自分の環境にインストールしてあるformulaだけ表示。

doctor
君のシステムに問題がないか調べよう。ちなみにうちの環境だと
/usr/bin is in your PATH before Homebrew's bin. This means that system-provided programs will be used before Homebrew-provided ones. This is anissue if you install, for instance, Python.Consider editing your .bashrc to put:  /usr/local/binahead of /usr/bin in your $PATH.Some brews install binaries to sbin instead of bin, but Homebrew'ssbin was not found in your path.Consider editing your .bashrc to add:  /usr/local/sbinto $PATH.
へいへい、すぐに修正しますだ。

cat formula
formulaファイルの内容を表示します。

log [git-log-options] formula ...
formulaのgit-logを表示します。logに対するオプションはgit-logを参照せよ、と。

fetch [--force] [-v] [--HEAD] formula
formulaのソースをtarボールで取得。--HEADでHEADバージョンを可能なら取得。-vつけるとチェックアウトの出力を見られる。--forceつけるとすでに取得済みのファイルを削除して新しくダウンロードしてくる。

audit [--warn]
formulaがHomeBrewのcodingスタイルに適合しているかチェック。主に新しいformula用。--warnつけると厳しいチェックをさらにする。

options formula
formulaのインストールオプションを表示。

missing
インストールされているformulaの依存関係をチェックしてくれる。

server
sinatraがインストールされていたらgem serverのように振舞い、利用可能なformulaをブラウズできる、とあるんですが私の環境ではrvmのrubyがちゃんと起動されてないようで、確認できませんでした。doctorの言うとおりなのかな。

test formula
formulaによってはtestコードをもっているのでそれを実行出来る。

man
manページの再構築。詳しくはman brew-manを参照する。

--config
HomeBrew関係の環境を表示。bugレポートするならいっしょに送れということです。

--prefix
インストールされているpathを表示。

--prefix formula
formulaのインストールpathを表示。

--cellar
Cellarのpathを表示。内部の実インストールディレクトリと言っていいでしょうか。

--cellar formula
formulaの実インストールpathを表示。

--cache
ダウンロードファイルの保存pathを表示。

--cache formula
formulaのダウンロードファイル、またはフォルダを表示。

--repository
brewの.gitリポジトリのpathを表示。

こんなところでしょうか。けっこう長いもんですね。休日だから気分的に余裕があったのでなんとなく書き始めたけど、なんかすごく時間がかかってしまった。(^^;)

0 件のコメント:

コメントを投稿


[8]ページ先頭

©2009-2025 Movatter.jp