这里是我的当前设置:如何在Emacs的shell命令中使用正确的rbenv Ruby版本?
- 的MacBook与山狮
- Emacs是http://emacsformacosx.com/
- rbenv全球1.9.3-P374
- 登录shell zsh的
我〜 /.zprofile(我确信文件得到执行):
# Customize to your needs...
export PATH=/Users/username/.rbenv/shims:/Users/username/.nvm/v0.9.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
eval "$(rbenv init -)"
我想使用我的全局定义的红宝石版本M-x shell-command
(或M-!
)。我期望M-! ruby -v
返回ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-darwin12.3.0]
但我得到ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
。
如果我在M-x shell
中运行ruby -v
,则会加载正确的版本。我怀疑M-!
不能按预期工作,因为它作为非交互式shell运行。
有没有办法解决这个问题,除了像这样运行:M-! eval "$(rbenv init -)" && ruby -v
?这是有效的,但我不想插入eval "$(rbenv init -)" &&
面前我执行的一切。