【发布时间】:2014-11-11 14:55:06
【问题描述】:
不确定这个问题是否与最近的 Oh-My-ZSH 更新有关,但突然之间,我的 RVM 默认 Ruby 在打开新的终端窗口时没有加载(相反,它加载了系统 Ruby)。
我已将[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 添加到我系统上的几乎每个点文件中(.zshrc、.zprofile、.zlogin、.profile,甚至 .bashrc 和 .bash_profile 都很好)。
会话开始时 RVM 正在加载(我可以使用 rvm default 手动切换到默认值),并且 $HOME/.rvm/bin 在我的 $PATH 中。如果我切换到具有 .ruby-version 和/或 .ruby-gemset 文件的目录,它会加载该 Ruby。
编辑:
澄清一下,我的问题是我用 RVM (rvm use <RUBY VERSION> --default) 声明的默认 Ruby 在我开始一个新的终端会话时或当我 cd 不在具有 .ruby-version 文件的目录时没有被加载。
编辑#2:
这是rvm list的结果
{15:20}[]~ ➭ rvm list
rvm rubies
ruby-1.9.3-p550 [ x86_64 ]
ruby-2.0.0-p594 [ x86_64 ]
ruby-2.1.3 [ x86_64 ]
* ruby-2.1.4 [ x86_64 ]
【问题讨论】:
-
这就是项目中
.ruby-version或.rvmrc文件的意义所在,这样项目就可以在所有机器上使用相同的依赖项和版本运行。 -
@Anthony 我了解 .ruby-version 文件的作用。这不是问题。我只是指出来证明 RVM 本身正在加载并且在我启动新的终端会话时按预期工作。问题是当我开始一个新会话时,我声明的默认 Ruby 没有被加载;而系统默认(包括 Mac OSX)Ruby 是。
-
rvm list的输出是什么?哪个版本旁边有*(即# * - default)