8

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

我的 Gemfile 有

source 'https://rubygems.org'
ruby '2.0.0'

我使用 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]

但是 cmd+t,创建一个新选项卡,留在那个目录中,

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

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

使用 cmd+d,垂直拆分终端,也有同样的问题。rvm 进入默认状态,忽略 Gemfile。感谢您的帮助!

4

3 回答 3

0

This should be shell- and terminal-agnostic (unfortunately I can't test it on iterm2 since I don't have any Mac machine):

Add cd ${PWD} to your .zshrc and this should force RVM to load current gemset.

于 2014-02-23T15:30:24.913 回答
0

只需cd ..zloginRVM 脚本之后添加。

于 2021-08-23T07:31:12.260 回答
-1

我似乎对于本地开放终端不要加载它的脚本。将代码添加到的末尾,它应该:

if [ -z "$MY_RUBY_HOME" ]; then
   [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
fi
于 2014-02-12T11:04:34.073 回答