Bug #14679

StdLib gems should properly specify their dependencies

Added by vo.x (Vit Ondruch) 9 days ago. Updated 9 days 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.


#1 [ruby-core:86507] Updated by vo.x (Vit Ondruch) 9 days 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.

#2 [ruby-core:86509] Updated by hsbt (Hiroshi SHIBATA) 9 days ago

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

Also available in: Atom PDF