81

我注释掉了一个 gem,但“捆绑安装”仍然无法运行。如何找出哪个 gem 依赖于 sys-proctable?

$ bundle install
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Could not find sys-proctable-0.9.2 in any of the sources

$ grep proctable Gemfile
  #gem 'sys-proctable', '0.9.2', :path => "vendor/gems"

$ bundle list
Resolving dependencies...
Could not find gem 'rspec-rails (= 2.11.0) ruby' in the gems available on this machine.

$ bundle viz
Resolving dependencies...
Could not find gem 'rspec-rails (= 2.11.0) ruby' in the gems available on this machine.

$ bundle -v
Bundler version 1.3.0

$ ruby -v
ruby 1.9.3p385 (2013-02-06 revision 39114) [i386-cygwin]

宝石文件: http ://pastebin.com/9WWMfKtv

我已经尝试过这些故障排除步骤:https ://github.com/carlhuda/bundler/blob/1-2-stable/ISSUES.md

4

3 回答 3

124

在 bash shell 中,您可以执行以下操作:

gem dependency name_of_the_gem --reverse-dependencies

例如:

$ 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))
于 2013-02-26T00:24:04.840 回答
8

我知道这个答案包含一个链接,但这不是一个链接特定的答案

您始终可以在ruby​​gems.org上检查 gem 的反向依赖关系。网站右侧面板上有一个链接。

在此处输入图像描述

或者您可以访问该网站

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

所以,在你的情况下

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

于 2018-08-08T09:34:41.873 回答
2

如何找出哪个 gem 依赖于 sys-proctable?

试试bundler-why插件(灵感来自yarn why

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

gem dependency --reverse-dependencies将遍历路径的单个边缘。相比之下,将遍历所有边。bundle why

于 2021-05-07T17:25:03.213 回答