2010-10-06 86 views
10

Bundler将自动为指定的宝石安装任何依赖项,但它不会输出哪些依赖项映射到标准输出中的哪些宝石。当其中一个依赖项安装失败时,该信息很有用。如何跟踪和检查捆绑的Ruby宝石中的依赖关系

有没有办法将Bundler设置得更详细,并在安装时通知有关依赖关系?

我使用捆扎机1.0.2

+1

但是,您可以使用“宝石依赖”命令来显示特定宝石的依赖关系。 – Himanshu 2010-10-06 02:02:54

回答

11

要查看依赖关系树运行bundle viz的可视化表示:

apt-get install graphviz && gem install ruby-graphviz && bundle viz 

它会生成树的PNG文件。

+5

如果仍然存在未解决的未实现的gem依赖关系,那么这将不起作用。这会回到原始问题。 – dsaronin 2012-03-06 01:03:14

+8

对于OSX,使用自制软件:brew install graphviz && gem install ruby​​-graphviz && bundle viz – user456584 2012-08-22 17:33:45

+0

很高兴在此处获得可搜索列表而不是图像。虽然图像非常酷。 – crizCraig 2013-05-13 21:27:06

5

一个不太精彩,但同样有效的办法是只做:

gem dep 

这将产生与依赖信息的Gemfile.lock的风格输出。你可以管这个输出less

gem dep | less 

或者,如果你正在寻找一个失败的依赖,你可以用一些背景grep显示它。例如,为了找出我的失败薄依赖来自何处(失败使用JRuby),我所做的:

gem dep | grep -C 15 thin 
+1

或'gem dep -R thin' – jwadsack 2017-08-14 22:49:00