rspec書いてる時にEmacsから簡単に呼び出せたら便利だと思ってsmart-compileの設定をこんな風に書き換えたんだけど、

(setq smart-compile-alist
      (append
       '(("\_spec.rb$" . "rspec %f"))
       '(("\\.rb$" . "ruby %f"))
       '(("\\.php$" . "php %f"))
       '(("\\.coffee$" . "coffee -p %f"))       
       '(("\Gemfile$" . "bundle install"))
       smart-compile-alist))

でちゃんとCompile command: rspec foo_spec.rbは呼び出せるものの実行すると

-*- mode: compilation; default-directory: "~/dev/zombie/spec/lib/" -*-
Compilation started at Thu Jan 23 16:50:59

rspec zombie_spec.rb
/bin/bash: rspec: コマンドが見つかりません

Compilation exited abnormally with code 127 at Thu Jan 23 16:51:00

な感じでエラーになってしまう。

どうやら rbenv の環境がEmacs側で認識されてないので rbenv で入れた gem のコマンドも使えないのが原因らしい。

解決策

[rbenv.el][1] をインストールすれば解決しました。

cd ~/.emacs.d/git
git clone https://github.com/senny/rbenv.el.git
ln -s ~/.emacs.d/git/rbenv.el/rbenv.el ../../site-lisp/

でインストールしておいて

(require 'rbenv)
(global-rbenv-mode)

しておけばOKです。