【问题标题】:Default Ruby not loading with RVM默认 Ruby 不使用 RVM 加载
【发布时间】: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

标签: ruby rvm zsh oh-my-zsh


【解决方案1】:

所以我想通了一半。我试图为那个特定的 Ruby 版本 (rvm use 2.1.4@global --default) 设置一个带有全局 gemset 的默认 Ruby。当我在没有 gemset 的情况下设置默认值时,它会持续存在并在每个后续会话中加载。

在过去,我可以使用 gemset 加载默认值。不确定这是否是最新版本的 oh-my-zsh 或 rvm 的问题。

【讨论】:

  • 我遇到了同样的问题,并使用这篇文章让 oh-my-zsh 尊重默认的 rvm ruby​​ 而不是系统 ruby​​...到目前为止很好,但仍然愿意做你想做的事. 'rvm use 2.2.2@global --default' 但如果我这样做了,那么新的 shell/终端默认使用 System ruby​​... 你知道了吗?
猜你喜欢
  • 1970-01-01
  • 2018-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-03
  • 1970-01-01
相关资源
最近更新 更多