如何从Gemfile中查看依赖树?

时间:2013-09-27 12:22:30

标签: ruby gem bundler

执行bundle install

时出现以下错误
Make sure that `gem install couchbase -v '1.3.3'` succeeds before bundling.

现在,我没有将这个gem包含在Gemfile中,所以它来自某种依赖。我怎样才能知道哪个宝石依赖于这个沙发基础宝石?

由于bundle install失败,我没有Gemfile.lock来确定这种依赖关系。

2 个答案:

答案 0 :(得分:61)

gem dependency(没有args)应该显示当前Gemfile中所有与其依赖关系的gems。

修改

如果您想了解哪些宝石使用特定(或所有)宝石,您也可以gem dependency -R(或仅dep dependency gem dep

对于更深层的依赖关系,我会解析第一个gem依赖项的输出(正则表达式?),选择gem的名称并在每个上面调用{{1}},但这只是一个宽松的想法。

答案 1 :(得分:18)

您还可以使用bundler创建依赖关系图。

安装graphviz:

gem install ruby-graphviz

然后:

bundle viz

以下是新创建的Rails应用程序的示例:

Rails app dependency graph

您还可以使用选项:

bundle help viz