如何跟踪和检查捆绑Ruby gems中的依赖关系

如何跟踪和检查捆绑Ruby gems中的依赖关系,ruby,rubygems,bundler,Ruby,Rubygems,Bundler,Bundler将自动为指定的gem安装任何依赖项,但是它不会在标准输出中输出哪些依赖项映射到哪些gem。当其中一个依赖项安装失败时,该信息非常有用 有没有办法将Bundler设置得更详细,并在安装时告知依赖项 我正在使用Bundler 1.0.2查看依赖关系树的可视化表示运行bundle viz: apt-get install graphviz && gem install ruby-graphviz && bundle viz 它将生成树的PNG文件。一个不

Bundler将自动为指定的gem安装任何依赖项,但是它不会在标准输出中输出哪些依赖项映射到哪些gem。当其中一个依赖项安装失败时,该信息非常有用

有没有办法将Bundler设置得更详细,并在安装时告知依赖项


我正在使用Bundler 1.0.2查看依赖关系树的可视化表示运行
bundle viz

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

它将生成树的PNG文件。

一个不太令人兴奋但同样有效的方法是:

gem dep
这将生成带有依赖项信息的Gemfile.lock样式输出。您可以通过管道将此输出传输到
以下位置:

gem dep | less
或者,如果您正在搜索一个失败的依赖项,您可以使用一些上下文对其进行grep。例如,为了找出我失败的瘦依赖项的来源(JRuby失败),我做了以下工作:


但是,您可以使用“gem dependency”命令显示特定gem的依赖项。如果仍然存在未完成的gem依赖项,则此操作将不起作用。。这又回到了最初的问题。对于OSX,请使用自制:brew安装graphviz&&gem安装ruby graphviz&&bundle。如果能在此处获得可搜索列表而不是图像,那就太好了。虽然图像很酷。想看看输出示例吗?这是一种可怕的做法。有了大量的宝石,这就变得有用了
gem dep-R thin
gem dep | grep -C 15 thin