Как заставить рельсы работать с jruby и rvm - рубиновая версия постоянно меняется - PullRequest
0 голосов
/ 24 октября 2019

Перенос файла gem приложения rails из

"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

1 Ответ

1 голос
/ 25 октября 2019

то, что сказано, определенно стоит того:

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) part означает 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'" 
...