【问题标题】:Ruby Version Different Depending on Terminal TabRuby 版本因终端选项卡而异
【发布时间】:2019-01-18 12:28:42
【问题描述】:

这个问题似乎经常发生(hereherehere),但从来没有成功的答案。

我已正确安装了 ruby​​ 2.5.0,并已使用 ruby -v 进行了验证。但是,当我打开一个新的终端选项卡时,出于某种原因,它默认我回到 ruby​​ 2.3.3p222。如果有帮助,我的 gemfile 中有 ruby '~> 2.5.0'

有人知道这是怎么回事吗?

【问题讨论】:

  • 你是如何安装 ruby​​(rvm、rbenv、brew、RubyInstaller)的?你在哪个平台上?

标签: ruby terminal


【解决方案1】:

RVM 可以读取项目文件夹根目录下的.ruby-version 文件。

echo 2.5.0 > .ruby-version

打开一个新终端并检查 Ruby 版本。

【讨论】:

  • 这非常有效!我仍然不知道为什么,但谢谢!
  • 这个.ruby-version 文件就像一些服务和应用程序查找目标版本的默认位置。 Google Cloud Platform、Heroku、RBenv、RVM 和其他一些服务使用这个文件。
【解决方案2】:

一个新标签会打开一个新的 shell,它会重新读取 shell 的初始化文件。它不是从碰巧在当前活动选项卡中设置的环境变量开始的。

【讨论】:

  • 那么如何让它更新初始化文件以显示正确的 Ruby 版本?
  • 也许您将两个版本的 Ruby 安装在不同的目录中,但其中一个恰好不在 PATH 中,或者在 PATH 中比旧版本更晚。
【解决方案3】:

如果您使用的是 rbenv,您可以通过以下方式设置全局 ruby​​:

rbenv global 2.5.0

对于 rvm 来说几乎是一样的:

rvm --default use 2.5.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多