Project

General

Profile

Actions

Defect #24924

closed

Redmine installation produces different results depending on the date installed

Added by Angelo Bertolli over 7 years ago. Updated over 7 years ago.

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

0%

Estimated time:
Resolution:
Wont fix
Affected version:

Description

The general problem

Redmine releases leave their dependencies open-ended, and assume that later versions of gems will always be backward compatible and can be installed with the release.

If you install Redmine on a system using the instructions on the site, you will get a different result depending on what version of a gem happens to be available at that time.

A side effect, specific example of this being an issue

When the Gemfile specifies a version like '>= x.x.x' it will throw an error during installation if the newest version of a gem has changed dependencies.

e.g.

  • When Redmine 3.3.1 was released it could be installed on RHEL 7 using Ruby 2.0
  • At some point in time, nokogiri 1.7 was released that requires Ruby 2.1
  • When attempting to run bundler to install Redmine on an identical system after this point will generate an error requiring Ruby 2.1

Solution

The current/correct practice for maintaining a Gemfile should be to use '~> x.x.x' whenever possible. This ensures both that (1) the version of the gem that was verified with a particular release is used, and (2) future gem versions do not cause unresolved dependency problems.

Actions

Also available in: Atom PDF