我无法找到能够回答此问题的SO QA。
我通过rvm install jruby
安装了JRuby,然后生成了一个新的rails应用程序。为了允许通过rvm自动更改ruby版本,我发现Bundler允许你添加:
ruby '1.9.3', engine: 'jruby', engine_version: '1.7.12'
请参阅此处reference。由于这是1.3,我在我的根应用程序目录中检查了我的Bundler版本:
$ bundle -v
Bundler version 1.6.2
我假设我有这个功能。现在,当我开始将其添加到Gemfile时:
source 'https://rubygems.org'
ruby '1.9.3', engine: 'jruby', engine_version: '1.7.12'
gem 'rails', '4.1.1'
gem 'activerecord-jdbcsqlite3-adapter'
然后在运行cd .. && cd app
后我收到了这个问题:
RVM used your Gemfile for selecting Ruby, it is all fine - Heroku does that too,
you can ignore these warnings with 'rvm rvmrc warning ignore /Users/benmorgan/Sites/sigma/Gemfile'.
To ignore the warning for all files run 'rvm rvmrc warning ignore allGemfiles'.
Unknown ruby string (do not know how to handle): ruby-1.9.3,engine:jruby,engine_version:1.7.12.
你知道如何告诉rvm选择jruby版本吗?是否可以在Gemfile中使用?
答案 0 :(得分:3)
正如已经链接到RVM reports Gemfile ruby as not installed
的评论所示RVM对从 Gemfile 解析Ruby“引擎”的支持是有限的,并且与Heroku使用(解析)指令的方式不匹配。
如果您真的希望在 Gemfile 中同时使用它,请使用RVM注释,例如
source "https://rubygems.org"
#ruby=jruby-1.7.12
if ENV["JRUBY"] || RUBY_PLATFORM == "java"
ruby "1.9.3", engine: "jruby", engine_version: "1.7.12"
end
gem "rails", "~> 4.1.1"
# ...