Defect #32839

Redmine 4.1 installation fails due to an attempt to install sprockets 4.0.0 if bundler prior to 1.15.2 is used on Ruby prior to 2.5

Added by Deoren Moor 6 months ago. Updated 6 months ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Go MAEDA% Done:

0%

Category:Gems support
Target version:4.1.1
Resolution:Fixed Affected version:4.1.0

Description

When we upgraded to Redmine 4.1.0 from 4.0.6 we encountered an error when bundler attempted to install sprockets 4.0.0:

Fetching sprockets 4.0.0
Installing sprockets 4.0.0
Gem::InstallError: sprockets requires Ruby version >= 2.5.0.
An error occurred while installing sprockets (4.0.0), and Bundler cannot
continue.
Make sure that `gem install sprockets -v '4.0.0' --source 'https://rubygems.org/'` succeeds
before bundling.

Our Redmine instance is running on an Ubuntu 16.04 system which provides Ruby 2.3. According to the official docs, Ruby 2.3 is still supported.

We worked around the issue by manually including the change in r18634 to our Gemfile.local file.


Related issues

Related to Redmine - Defect #32223: Disable sprockets to avoid Sprockets::Railtie::ManifestNe... Closed
Blocks Redmine - Patch #32841: Drop support for Bundler prior to 1.12.0 Closed

Associated revisions

Revision 19456
Added by Go MAEDA 6 months ago

Redmine 4.1 installation fails due to an attempt to install sprockets 4.0.0 if bundler prior to 1.15.2 is used on Ruby prior to 2.5 (#32839).

Patch by Go MAEDA.

Revision 19457
Added by Go MAEDA 6 months ago

Merged r19456 from trunk to 4.1-stable (#32839).

History

#1 Updated by Go MAEDA 6 months ago

  • Category changed from Ruby support to Gems support
  • Status changed from New to Confirmed
  • Target version set to 4.1.1

I have confirmed that the error occurs if the version of bundler is 1.15.1 or earlier.

I think we have two options to fix this issue:

  • Option 1: Raise the minimum required version of bundler to 1.15.2 by updating Gemfile (source:tags/4.1.0/Gemfile#L3) and make users upgrade bundler. Since bundler 1.15.1 that was released in June 2017 is so old, I prefer this approach.
  • Option 2: Apply the following patch. I don't like this because it adds 3 lines to Gemfile.
Index: Gemfile
===================================================================
--- Gemfile    (リビジョン 19434)
+++ Gemfile    (作業コピー)
@@ -16,6 +16,9 @@
 gem "i18n", "~> 1.6.0" 
 gem "rbpdf", "~> 1.20.0" 

+# Remove the following line when Redmine drops the support for Ruby 2.4 (#32839)
+gem 'sprockets', '~> 3.7.2' if RUBY_VERSION < '2.5'
+
 # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
 gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]

#2 Updated by Go MAEDA 6 months ago

  • Related to Defect #32223: Disable sprockets to avoid Sprockets::Railtie::ManifestNeededError raised by sprockets 4.0.0 added

#3 Updated by Go MAEDA 6 months ago

  • Blocks Patch #32841: Drop support for Bundler prior to 1.12.0 added

#4 Updated by Go MAEDA 6 months ago

  • Subject changed from Upgrading from Redmine v4.0.6 to v4.1.0 attempts installation of sprockets 4.0.x for Ruby 2.3.x to Redmine 4.1 installation fails due to an attempt to install sprockets 4.0.0 if bundler prior to 1.15.2 is used on Ruby prior to 2.5
  • Status changed from Confirmed to Closed
  • Assignee set to Go MAEDA
  • Resolution set to Fixed

Committed the fix.

Go MAEDA wrote:

  • Option 1: Raise the minimum required version of bundler to 1.15.2 by updating Gemfile (source:tags/4.1.0/Gemfile#L3) and make users upgrade bundler. Since bundler 1.15.1 that was released in June 2017 is so old, I prefer this approach.
  • Option 2: Apply the following patch. I don't like this because it adds 3 lines to Gemfile.

The committed fix is option 2. I have changed my mind that it is not a good idea to have admins do extra work like upgrading Bunlder.

Also available in: Atom PDF