How do I find out which gem has a specific dependency?

Solution 1:

In the bash shell you can do:

gem dependency name_of_the_gem --reverse-dependencies

For instance:

$ gem dependency activesupport --reverse-dependencies                        
Gem activesupport-2.3.14
Used by
actionpack-2.3.14 (activesupport (= 2.3.14))
activerecord-2.3.14 (activesupport (= 2.3.14))
activeresource-2.3.14 (activesupport (= 2.3.14))

Solution 2:

I know this answer includes a link, but this is not a link specific answer

You can always check the reverse dependencies of a gem on rubygems.org. There's a link on the right side panel on the website.

enter image description here

Or you can visit the site

https://rubygems.org/gems/{gem_name}/reverse_dependencies

So, in your case

https://rubygems.org/gems/sys-proctable/reverse_dependencies

Solution 3:

How do I find out which gem has a dependency on sys-proctable?

Try the bundler-why plugin (inspired by yarn why)

bundler plugin install bundler-why
bundle why tzinfo
# ransack -> activesupport -> tzinfo
# rspec-rails -> activesupport -> tzinfo
# business_time -> tzinfo

gem dependency --reverse-dependencies will traverse a single edge of the paths. In comparison, bundle why will traverse all edges.