未验证 提交 1aace5e2 编写于 作者: B bogdanvlviv

Fix Ruby version in `.ruby-version`

Since #30016 Rails generates `.ruby-version` file
in order to help Ruby version manager tools like `rbenv`, `rvm`
determine which Ruby version should be used for the current Rails
project.

Since #32649 Rails sets Ruby version to the file compatible with MRI/JRuby
by default.

Pull Request #31496 reports that `.ruby-version` doesn't match ruby version other
than stable version and recommends to use `ENV["RBENV_VERSION"]`, and
`ENV["rvm_ruby_string"]` in order to set correct Ruby version to the file
that `rbenv` or `rvm` can understand.
Also, there is another similar issue that reports the same case if use
JRuby https://github.com/jruby/jruby/issues/5144.

Closes #31496, https://github.com/jruby/jruby/issues/5144.
上级 38dbc8e2
<%= "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}" -%>
<%= ENV["RBENV_VERSION"] || ENV["rvm_ruby_string"] || "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}" -%>
......@@ -891,7 +891,13 @@ def test_inclusion_of_ruby_version
assert_match(/ruby '#{RUBY_VERSION}'/, content)
end
assert_file ".ruby-version" do |content|
assert_match(/#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}/, content)
if ENV["RBENV_VERSION"]
assert_match(/#{ENV["RBENV_VERSION"]}/, content)
elsif ENV["rvm_ruby_string"]
assert_match(/#{ENV["rvm_ruby_string"]}/, content)
else
assert_match(/#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}/, content)
end
end
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册