TextmateのRspecファイルを保存するとエラー(間違編)
TextmateでRspecファイルを作っていて実行はできるのだが(これも1ファイルを開くのではなくプロジェクトで開かないとうまく行かないのだが、実害がないので今の所いい)、ファイルを保存するたびにエラーがでる。
私のMac端末では標準で入っているRubyはつかっていなくてユーザ領域に幾つかのバージョンのRubyを入れてシンボリックリンクで切り替えながら使っている。
どうもRSpecのファイルを保存したときに「Save Example file and remember」というコマンドが流れいるらしいのだが、これが標準のRubyをみにいってそっちにはRSpecがないからエラーを毎回出してるらしい。
対象を探すと以下の場所にあった。
/Users/ユーザ名/Library/Application Support/TextMate/Bundles/RSpec.tmbundle/Commands
ここの場所にある「Save spec and remember.tmCommand」というファイルがそう。これの6行目付近に以下の記述がある
<key>command</key> <string>#!/usr/bin/env ruby require ENV['TM_BUNDLE_SUPPORT'] + "/lib/spec/mate"
このenvで取得してきたときにどうも自分の環境変数がよまれずにどこかのを読み込んで動作がおかしいらしい。このコマンド以外でRubyをTextmataから実行したときにローカルの環境側のRubyが実行されている(TM_RUBYは定義してあるし、ローカルに.profileもある)のが不思議なところ。
とりあえずこのファイルをバックアップして、ローカルのRubyへのパスを無理矢理書いてやればエラーはでなくなった。これでいい気はしないが、どうするのがただしのかなあ。