【问题标题】:How to find out where ruby version that rails points to is present如何找出rails指向的ruby版本在哪里
【发布时间】:2020-01-28 12:30:54
【问题描述】:

我的机器里只有 ruby​​-2.3.7,rvm list rubies 的输出是

=* ruby-2.3.7 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

但是当我尝试执行rails s 时,我收到一条错误消息Your Ruby version is 2.6.4, but your Gemfile specified 2.3.7

我不知道如何找出机器中这个特定版本的 ruby​​ 存在的位置,以及如何卸载它或让这个错误消失。

我无法更改 gemfile 中使用的 ruby​​ 版本。

编辑。

which ruby 的输出是/Users/myname/.rvm/rubies/ruby-2.3.7/bin/ruby

bundle env 的输出是

Bundler             1.17.3
  Platforms         ruby, x86_64-darwin-18
Ruby                2.3.7p456 (2018-03-28 revision 63024) [x86_64-darwin18]
  Full Path         /Users/bennetsunder/.rvm/rubies/ruby-2.3.7/bin/ruby
  Config Dir        /Users/bennetsunder/.rvm/rubies/ruby-2.3.7/etc
RubyGems            3.0.6
  Gem Home          /Users/bennetsunder/.rvm/gems/ruby-2.3.7
  Gem Path          /Users/bennetsunder/.rvm/gems/ruby-2.3.7:/Users/bennetsunder/.rvm/gems/ruby-2.3.7@global
  User Path         /Users/bennetsunder/.gem/ruby/2.3.0
  Bin Dir           /Users/bennetsunder/.rvm/gems/ruby-2.3.7/bin
Tools               
  Git               2.20.1 (Apple Git-117)
  RVM               1.29.8 (latest)
  rbenv             not installed
  chruby            not installed
  rubygems-bundler  (1.4.5)

【问题讨论】:

  • 你的终端中which ruby的输出是什么?
  • 是否有可能为环境变量BUNDLER_SPEC_RUBY_VERSION 设置了值?您可以在终端中使用命令echo $BUNDLER_SPEC_RUBY_VERSION 验证这一点
  • bundle env 为您提供了大量有关捆绑程序环境的信息。在非常丰富的输出的开头,它会告诉您它正在使用的 ruby​​ 版本。检查它是由 rvm 管理的。
  • @Hamed 没有为该命令设置值。它只是打印和空行

标签: ruby-on-rails ruby macos rvm


【解决方案1】:

我意识到我已经安装了 ruby​​-2.6.4 view brew 并且它在路径上。要解决此问题,您可以执行 brew uninstall ruby 并使用通过 rvm 安装的那个,或者删除从 brew 安装目录中获取的路径条目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 2017-11-15
    • 2012-02-23
    • 2014-08-26
    • 1970-01-01
    • 2016-04-18
    相关资源
    最近更新 更多