rbenvでインストールしたgemをEmacsから使う
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です。