Mac对于安装了哪个版本的Ruby感到困惑

时间:2018-01-02 21:44:36

标签: ruby-on-rails ruby macos

我无法说出这里发生了什么。我跑的时候:

ruby -v

我得到以下输出:

ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin15]

然后当我尝试打开Rails控制台时:

rails console

我收到此错误:

Rails 5 requires Ruby 2.2.2 or newer.

You're running
  ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

我运行的是2.4.0还是2.0.0?我如何才能让rails console感到高兴+有效?!

更新

输出几个命令:

which rails
/Users/myuser/.rvm/rubies/ruby-2.4.0/bin/rails

bundle exec rails console
Could not locate Gemfile or .bundle/ directory

type -all ruby
ruby is /Users/myuser/.rvm/rubies/ruby-2.4.0/bin/ruby
ruby is /usr/bin/ruby

rbenv local
-bash: rbenv: command not found

rvm -v
rvm 1.29.1 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]

2 个答案:

答案 0 :(得分:2)

.rvm输出中的which rails

/Users/myuser/.rvm/rubies/ruby-2.4.0/bin/rails
              ^^^^

表示您正在使用RVM来管理您的Ruby版本。如果你在shell中说rvm list,你应该在可用的Rubies列表中看到2.4.0和2.0.0,当你输入Rails应用程序的目录时,该列表中的当前版本应该会改变。

检查Gemfile,它应该说:

ruby '2.4.0'

或类似的,以确保它使用正确的版本。还要查找.ruby-version文件,并确保它说的是正确的(如果存在)。

答案 1 :(得分:1)

如果您使用的是rbenv,则可以使用

更改特定项目的ruby版本
rbenv local (ruby-version)

有关ruby版本的列表,您可以使用

rbenv install -l 

找到一个关于使用rbenv更改ruby版本的迷你教程: https://makandracards.com/makandra/21545-rbenv-how-to-switch-to-another-ruby-version-temporarily-per-project-or-globally