Project

General

Profile

Actions

Patch #32788

closed

Specify supported Ruby version in Gemfile and doc/INSTALL

Added by Go MAEDA about 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Ruby support
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Currently, source:tags/4.1.0/doc/INSTALL says that Redmine 4.1.0 supports Ruby 2.3 or later. However, Redmine 4.1.0 does not yet support Ruby 2.7 (#31500).

The document should list all supported Ruby versions to prevent users from using unsupported the latest Ruby version.


Files


Related issues

Related to Redmine - Patch #32787: Redmine 4.0 no longer supports Ruby 2.2ClosedGo MAEDA

Actions
Related to Redmine - Patch #32841: Drop support for Bundler prior to 1.12.0ClosedGo MAEDA

Actions
Actions #1

Updated by Go MAEDA about 4 years ago

  • Related to Patch #32787: Redmine 4.0 no longer supports Ruby 2.2 added
Actions #2

Updated by Jean-Philippe Lang about 4 years ago

A probably better option would be to set this as a dependency in the Gemfile: https://bundler.io/v1.12/gemfile_ruby.html
That would ensure that a compatible ruby version is used.
What do you think?

Actions #3

Updated by Marius BĂLTEANU about 4 years ago

Jean-Philippe Lang wrote:

A probably better option would be to set this as a dependency in the Gemfile: https://bundler.io/v1.12/gemfile_ruby.html
That would ensure that a compatible ruby version is used.
What do you think?

I’m in favor of this option.

Actions #4

Updated by Go MAEDA about 4 years ago

Jean-Philippe Lang wrote:

A probably better option would be to set this as a dependency in the Gemfile: https://bundler.io/v1.12/gemfile_ruby.html
That would ensure that a compatible ruby version is used.
What do you think?

It is a more sophisticated way than simply describing in the document. I didn't know the feature of Bundler. Thank you for the advice.

The attached is a new patch that updates both Gemfile and doc/INSTALL.

Actions #5

Updated by Go MAEDA about 4 years ago

  • Subject changed from Specify supported Ruby version in Gemfile to Specify supported Ruby version in Gemfile and doc/INSTALL
  • Status changed from New to Closed
  • Assignee set to Go MAEDA

Committed the patch.

Actions #6

Updated by Go MAEDA about 4 years ago

  • Related to Patch #32841: Drop support for Bundler prior to 1.12.0 added
Actions #7

Updated by Go MAEDA about 4 years ago

  • Status changed from Closed to Reopened

The ruby directive in Gemfile is supported by bundler 1.12.0 or later. So, r19425 causes the following error when a user runs bundle install if the version of bundler is prior to 1.12.0.

$ bundle -v
Bundler version 1.11.2
$ bundle install

[!] There was an error parsing `Gemfile`: no implicit conversion of Symbol into Integer. Bundler cannot continue.

 #  from /Users/maeda/redmines/trunk/Gemfile:3
 #  -------------------------------------------
 #
 >  ruby '>= 2.3.0', '< 2.7.0'
 #  gem "bundler", ">= 1.5.0" 
 #  -------------------------------------------

You can avoid the error by skipping the ruby directive with the following patch. The version of Ruby is not checked if you run an older version of Bundler that does not support ruby directive.

diff --git a/Gemfile b/Gemfile
index 78db5caf8..bcc58ee35 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'

-ruby '>= 2.3.0', '< 2.7.0'
+ruby '>= 2.3.0', '< 2.7.0' if Bundler::VERSION >= '1.12.0'
 gem "bundler", ">= 1.5.0" 

 gem "rails", "5.2.4.1" 
Actions #8

Updated by Go MAEDA about 4 years ago

  • Status changed from Reopened to Closed

Committed the fix described in #32788#note-7.

Actions

Also available in: Atom PDF