如何让 rails 与 jruby 和 rvm 一起工作 - ruby 版本不断变化

How to get rails to work with jruby and rvm - ruby version keeps flipping

正在从

迁移 rails 应用程序的 gem 文件
"ruby '2.5.1'"

(运行 没问题)到

"ruby '2.5.1', :engine => 'jruby', :engine_version => '9.1.17.0'" 

我使用以下方法修改了环境:

rvm use jruby-9.1.17.0

然而,当我 运行 捆绑安装时,我得到

Your Ruby version is 2.3.3, but your Gemfile specified 2.5.1

其他信息:

    ~$ rvm current 
    jruby-9.1.17.0
    ~$ rvm list
    => jruby-9.1.17.0 [ x86_64 ]
   jruby-9.2.6.0 [ x86_64 ]
   ruby-1.9.2-p318 [ x86_64 ]
   ruby-1.9.2-p320 [ x86_64 ]
   ruby-1.9.2-p330 [ x86_64 ]
   ruby-1.9.3-p374 [ x86_64 ]
   ruby-1.9.3-p547 [ x86_64 ]
   ruby-2.0.0-p481 [ x86_64 ]
   ruby-2.0.0-p576 [ x86_64 ]
   ruby-2.1.1 [ x86_64 ]
   ruby-2.1.3 [ x86_64 ]
   ruby-2.3.1 [ x86_64 ]
   ruby-2.4.0 [ x86_64 ]
 * ruby-2.5.1 [ x86_64 ]

我看不到2.3.3版本是从哪里来的! 有任何想法吗?我正在使用 MacOS 和 RVM

所说的绝对值得关注:

Your Ruby version is 2.3.3, but your Gemfile specified 2.5.1

如果你做 rvm jruby-9.1.17.0 do ruby --version 你会得到 smt:

jruby 9.1.17.0 (2.3.3) 2018-04-20 d8b1ff9 Java HotSpot(TM) 64-Bit Server VM 25.171-b11 on 1.8.0_171-b11 +jit [linux-x86_64]

(2.3.3) 部分表示它的 Ruby 2.3 所以我建议你使用 JRuby 9.2 :

rvm install jruby-9.2.8.0

会给你一个 2.5(.3) 兼容的 Ruby 运行时,相应地更新 Gemfile :

"ruby '2.5.3', :engine => 'jruby', :engine_version => '9.2.8.0'"