How to see the dependency tree just from Gemfile?

2019-02-01 05:01发布

I am getting the following error when doing bundle install

Make sure that `gem install couchbase -v '1.3.3'` succeeds before bundling.

Now, i have not included this gem in the Gemfile, so it's coming from some dependency. How can i figure out which gem is dependent on this couchbase gem?

Since bundle install is failing and I don't have Gemfile.lock to figure out this dependency.

标签: ruby gem bundler
2条回答
虎瘦雄心在
2楼-- · 2019-02-01 05:51

You can also use bundler to create a dependency graph.

Install graphviz:

gem install ruby-graphviz

and then:

bundle viz

Here are an example of a newly created Rails app:

Rails app dependency graph

You can also play with the options:

bundle help viz 
查看更多
【Aperson】
3楼-- · 2019-02-01 05:52

gem dependency (with no args) should show you all gems from current Gemfile with their dependencies.

Edit:

You can also do gem dependency -R (or just dep insted of dependency) if you want to find out which gems use specific (or all) gems.

For deeper dependencies I'd parse output (regex maybe?) of first gem dependencies, pick gem's names and call gem dep on each of them, but that's just a loose idea.

查看更多
登录 后发表回答