Bug #14679


StdLib gems should properly specify their dependencies

Added by vo.x (Vit Ondruch) over 5 years ago. Updated 3 months ago.

Target version:
ruby -v:
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]


Could you please properly specify gem dependencies for gems included in StdLib? The current situation is unfortunate.

Let me give you hypothetical example. Lets say there is RDoc 7.x under development and it will depend on JSON 3.x library. Unfortunately, both of the libraries are breaking their API. However, latest version of Ruby ships with older version of the bundled gems, e.g. RDoc 6.x and JSON 2.x. Now if I like to use the new RDoc 7.x in my application, I put it into my Gemfile. But that immediately means my whole application is going to use the RDoc 7.x and JSON 3.x, possibly breaking the rest of the StdLib, which still depends on JSON 2.x or RDoc 6.x, since the dependencies are just assumed, but not specified. OTOH, if there were the dependencies properly specified, I would be notified by Bundler that these versions are incompatible and I should not use them together.

If the dependencies are not specified, I don't think that any of the bundled gems can be safely updated via "gem update" and therefore the benefits of gemified StdLib are completely gone, adding just maintenance burden, nothing more.

Related issues 1 (0 open1 closed)

Has duplicate Ruby master - Bug #16951: Consistently referer dependenciesClosedhsbt (Hiroshi SHIBATA)Actions

Updated by vo.x (Vit Ondruch) over 5 years ago

Also, if Ruby one day decides to drop JSON support for whatever reason, the RDoc won't be usable after installation, since it will be missing json dependency.

Updated by hsbt (Hiroshi SHIBATA) over 5 years ago

  • Status changed from Open to Assigned
  • Assignee set to hsbt (Hiroshi SHIBATA)
Actions #3

Updated by jeremyevans0 (Jeremy Evans) over 2 years ago

  • Has duplicate Bug #16951: Consistently referer dependencies added
Actions #4

Updated by jeremyevans0 (Jeremy Evans) 3 months ago

  • Status changed from Assigned to Closed

Also available in: Atom PDF