RVM和Gemfile - 并不总是加载正确的ruby,只有当'cd ..&cd myproject'时

oma*_*oma 8 bash zshrc rvm iterm2

TL; DR:每次打开一个新的选项卡,都会回到默认版本,它不会使用Gemfile ruby​​版本

我的Gemfile有

source 'https://rubygems.org'
ruby '2.0.0'
Run Code Online (Sandbox Code Playgroud)

我使用rvm 1.25.14.

RVM是智能的,并且在gemfile中读取ruby版本,除了这个边缘情况

# NOTE: iterm2 
$ cd myproject
$ ruby -v
> ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12.5.0]
Run Code Online (Sandbox Code Playgroud)

但cmd + t,创建一个新的标签,留在那个directoy,

$ pwd
>../myproject
$ ruby -v
> ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.3.0]
Run Code Online (Sandbox Code Playgroud)

ruby 1.9.3是我的默认值,这很好.我的bash(或.zshrc)中缺少什么?使这项工作?

#FILE .zshrc
#...stuff

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
Run Code Online (Sandbox Code Playgroud)

使用cmd + d,垂直拆分终端会出现同样的问题.rvm变为默认值,忽略Gemfile.谢谢你的帮助!

Мал*_*евъ -1

我似乎对于本地开放终端不加载其脚本。的末尾,然后应该:

if [ -z "$MY_RUBY_HOME" ]; then
   [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
fi
Run Code Online (Sandbox Code Playgroud)