Не удалось запустить ruby ​​в команде оболочки emacs в режиме региона

Я использую M-|, чтобы войти в команду оболочки в режиме региона на emacs, затем просто набираю

ruby -e "puts 'ok'" 

и потерпел неудачу.

Ошибка говорит ~/.rbenv/shims/ruby:line4:exec:rbenv: не найдено.

Я использую rbenv для настройки ruby.

Я добавил следующее в свой файл инициализации emacs, но все еще не работал.

(push "~/.rbenv/shims" exec-path)
(push "~/.rbenv/bin" exec-path)
(push "~/.rbenv/libexec" exec-path)

Любая помощь? Спасибо.

Строка 4 файла ~/.rbenv/shims/ruby

exec rbenv exec "${0##*/}" "$@"

И команда "который rbenv" возвращает

/home/ry/.rbenv/bin/rbenv

И команда "ll which rbenv" возвращает

lrwxrwxrwx 1 ry ry 16  2月 29 00:26 /home/ry/.rbenv/bin/rbenv -> ../libexec/rbenv*

person raykin    schedule 15.07.2012    source источник
comment
Что находится в строке 4 из ~/.rbenv/shims/ruby?   -  person Craig Citro    schedule 15.07.2012
comment
exec rbenv exec ${0##*/} $@   -  person raykin    schedule 15.07.2012
comment
И запустите который rbenv возвращает ** /home/ry/.rbenv/bin/rbenv ** я добавляю его к вопросу   -  person raykin    schedule 15.07.2012
comment
А если просто набрать ruby из командной строки?   -  person Craig Citro    schedule 15.07.2012
comment
тип ruby -e "puts 'ok'" выводит нормально. так рубин в порядке   -  person raykin    schedule 16.07.2012
comment
Все еще стреляем в темноте: ~/.rbenv/libexec/rbenv существует?   -  person Craig Citro    schedule 16.07.2012
comment
он существует. Я проверяю, какой ll. А ruby ​​из команды работает и значит существует.   -  person raykin    schedule 16.07.2012
comment
@raykin ты решил это? - что показывает echo $path? - Я обнаружил, что shell-on-command-region неправильно использует exec-path, и занимаюсь расследованием.   -  person ocodo    schedule 10.01.2013
comment
хм, не знаю почему, но теперь это сработало. разница может быть в том, что я сейчас использую emacs24.   -  person raykin    schedule 15.01.2013


Ответы (1)


Похоже, ваши PATH и exec-path настроены неправильно. Я написал пакет Emacs для интеграции Emacs с rbenv. Это должно добавить недостающую конфигурацию: http://blog.senny.ch/blog/2013/02/11/use-the-right-ruby-with-emacs-and-rbenv/

person Yves Senn    schedule 04.03.2013