用rails new遇到的一个报错

使用rails new 新开一个项目的时候,遇到的一个报错。

问题描述

   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]

    Please upgrade to Ruby 2.2.2 or newer to continue.

输入:ruby -v,得到的版本:ruby 2.3.6p384,明明2.3.6啊!为什么说我的是ruby2.0.0?

我以为是有旧的ruby版本存在,终端输入:rvm list, 得到如下结果:

rvm rubies

   ruby-2.3.1 [ x86_64 ]
=* ruby-2.3.6 [ x86_64 ]
   ruby-2.4.0 [ x86_64 ]

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

这就很奇怪了,随后终端输入:rails -v, 报错,内容与rails new一样。

怎么回事?!

解决

Google到了解答, 在这里rails new fails to read my Ruby version and won’t create a new project

原来rails检查的是system的ruby,先check下:

  • 终端输入rvm system ,得到

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

    果然,是ruby2.0.0。

  • 切换到之前的版本

    rvm use ruby-2.3.6 --default
    

    OK!!! rails new yourproject, 继续开始新的征程~~

    参考

rails new fails to read my Ruby version and won’t create a new project