這裏是我的當前設置:如何在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 -)" &&
面前我執行的一切。