TextMateでRSpecのBundle起動成功

昨日の続きでTextMateからRSpecを起動できるところまで何とかいけたので、過程をまとめてみた。

まず、TextMateのバンドル追加は本家の日本語マニュアルに詳しく書かれていたのそれをまずチェック。

まず、バンドルのレポジトリはSubversionで管理されていてhttp://macromates.com/svn/Bundles/trunk/Bundles/でみることができる。ただし、ここにはいっているRSpecのbundleは既に古いらしいので、それは後で別途入手する。

インストール方法としてはまずバンドルを入れるフォルダをつくる

mkdir -p ~/Library/Application Support/TextMate/Bundles

作成したフォルダに入って、Bundlesを管理するBundleをダウンロード。

cd ~/Library/Application Support/TextMate/Bundles
svn co http://macromates.com/svn/Bundles/trunk/Bundles/GetBundle.tmbundle/

この後にTextMateを起動してBundles->Bundle Editor->Reload Bundlesを選択するとBundlesの中にGet Bundlesが増えている筈。前述のレポジトリに登録されているものはここからダウンロード出来る。

つぎにSupportフォルダ配下を新しくする必要があるようなので(マニュアルより)、それを実行する。

cd ~/Library/Application Support/TextMate/
svn co http://macromates.com/svn/Bundles/trunk/Support

これでSupportフォルダができ、新しいファイルが展開される。もとのファイルはそのまま残っているので不具合がでるようならばこのフォルダを消せばOK.

サポートフォルダを正しく参照しているかは以下のテストでわかる。

まず、TextMateを起動してからのエディタに以下の文字を入力する

echo "$TM_SUPPORT_PATH"

この文字の上で^Rを実行すると実行結果が帰ってきて、それが先ほどインストールしたフォルダなら正常に完了している。

つぎにRspecのBundleはgithubに登録されているので、先にgitをインストールする必要がある。ソースからインストールしてもよかったのだけど、portにgit-core(1.6.0.2)が登録されていたのでそちらからインストール。

sudo port install git-core

関連のファイルが一緒にインストールされるので、すこし時間がかかる物の無事終了。

後はGit経由でRspec.tmbundleをダウンロード(Home · dchelimsky/rspec-tmbundle Wiki · GitHub)

cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/dchelimsky/rspec-tmbundle.git RSpec.tmbundle

これで先ほどと同様にTextMateのメニュからBundles->Bundle Editor->Reload Bundlesを選択するとRspecがメニューに登録される。

ここで私がはまったのはテスト用にあちこちにRubyを登録しているので、もとから入っているRubyは全く使っていなかったため、パス問題が起きてうまく希望のRuby配下のRSpecを実行してくれなかった。

それはTextMate->Preferences->Advanced->Shell Variablesに以下のパラメータを追加する事で解決できた

Variable
TM_RUBY
Value
Rubyのパス

これでRSpecを記述してコマンド+RキーでRSpecが実行できた。