capybara-webkitのバージョンをアップしたら下記のエラー。

dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib
  Referenced from: /usr/local/lib/QtGui.framework/Versions/4/QtGui
  Reason: image not found

capybara-webkitはメジャーバージョンが上がったので依存するライブラリも大きく上がったようだ。(多分今までのqt4はlibpng12を使ってたんだろう)

$ brew update && brew upgrade
$ brew reinstall qt4
$ brew reinstall lbpng

動いた。

direnvを入れると.envrcってファイル置いておくとそのディレクトリに移動したとき実行してくれる。

zimbatm/direnv

direnvのインストール

$ brew install direnv
$ vi ~/.zshenv
eval "$(direnv hook $0)"

railsプロジェクトに下記のファイルを置く。

$ vi .envrc
export PATH=$PWD/bin:$PATH

このディレクトリでのdirenv実行を許可する。

$ direnv allow .

日本語ファイル使ったことなかったけど、レガシー改善でsvnからgitへ移行したら日本語ファイル沢山。

Command Line Toolsで入ってるgitは若干古い。

% git version
git version 1.7.10.2 (Apple Git-33)

1.7.12から日本語ファイル名(UTF-8-MAC)が扱えるようになってるのでbrewで入れる。

% brew info git
git: stable 1.7.12.1, HEAD
% brew install git

実験的な機能という位置付けらしいのでデフォルトではオフになってる。オンにする。

% git config --local core.precomposeunicode true 

マシン全体でオンにしたい場合は下記。

% git config --global core.precomposeunicode true 

参照:git 1.7.12でUTF8-MAC問題が解決 « Butaman-kun Project

$ brew install selenium-server-standalone
$ cp "/usr/local/Cellar/selenium-server-standalone/2.25.0/homebrew.mxcl.selenium-server-standalone.plist" ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.selenium-server-standalone.plist

便利な時代になったもんですね。(結構メモリ食うのでウザくなったら起動しない設定に変えといたほうがよさそう)

日本語ファイル名の問題

svnで日本語ファイル名を使ってるとMAC-UTF8では違うファイル名ってことになるのでcheckoutしてきただけで変更扱いになる。

% brew install subversion --unicode-path

--unicode-pathを付けてbrewからインストールすればOK。

svn1.6系から1.7系へのアップグレード

1.7から.svnディレクトリはgitのようにトップディレクトリにしか作られなくなる(!)

1.6系以前のworking copyは変換が必要。

% svn upgrade

サーバー側のsvnが1.6系であっても下位互換があるので安心。

ちゃんと書く場合はleiningenでproject作った方が楽だけど、手元で手軽にclojureしたい場合の為にsystem-wideにインストールする。

$ brew install clojure-contrib
# ~/.zshrc
export CLASSPATH=$CLASSPATH:/Users/komagata/homebrew/Cellar/clojure-contrib/1.2.0/clojure-contrib.jar

clojureも依存で入る。バージョンは2011/06/25現在だと1.2.0。ついでにちょっとした起動スクリプトもcljって名前で入れてくれる。

% clj
Clojure 1.2.0
user=> (+ 1 2 3)
6

引数無しだとreplが立ち上がる。

;; unk.clj
(println "unk")
% clj unk.clj
unk

スクリプトを渡せば実行される。

clojure.mainが標準入力からスクリプトを受け取れれば

#!clj
(println "unk")

って書けそうだけど、無理。

$ brew install postgresql
$ initdb /Users/komagata/homebrew/var/postgres
$ cp /Users/komagata/homebrew/Cellar/postgresql/9.0.2/org.postgresql.postgres.plist ~/Library/LaunchAgents
$ launchctl load -w ~/Library/LaunchAgents/org.postgresql.postgres.plist

起動。

$ pg_ctl -D /Users/komagata/homebrew/var/postgres -l /Users/komagata/homebrew/var/postgres/server.log start

終了。

$ pg_ctl -D /Users/komagata/homebrew/var/postgres stop -s -m fast

滅多に使わないので立ち上がらないようにunloadしておく。

$ launchctl unload -w ~/Library/LaunchAgents/org.postgresql.postgres.plist
% psql -l
                                  List of databases
   Name    |  Owner   | Encoding |  Collation  |    Ctype    |   Access privileges  
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | komagata | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 |
 template0 | komagata | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/komagata          +
           |          |          |             |             | komagata=CTc/komagata
 template1 | komagata | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/komagata          +
           |          |          |             |             | komagata=CTc/komagata
(3 rows)

昔はなかったAccess privilegesなんて表示が追加されてる。CTcってのはどういう意味だろう。Capture The Flag?

homebrewは元々自分のディレクトリ以外を汚さないように出来ているので好きな場所に置いてPATHを通す。

% curl http://github.com/mxcl/homebrew/tarball/master -LO
% tar zxf master
% mv mxcl-homebrew-348d28f ~/homebrew
# ~/.zshrc
export PATH=~/homebrew/bin:$PATH