ruby-on-rails - 找出哪个 gem 正在请求 rb-inotify
问题描述
试图找出哪个 gem 正在请求特定的 gem。除非我将有问题的 gem 固定到特定版本,否则捆绑不会构建,它隐藏了请求的 gem 信息(gem 看起来像是从 gemfile 加载的,但只是因为它不会使用最新版本构建)。我怎样才能找出请求的宝石?
tl;博士; 我正在尝试在我的 Mac OS X 系统上从 Rails 4.1 迁移到 4.2。一些 gem 正在请求 rb-inotify,它的最新版本将无法工作,因为它需要 Ruby >= 2.2 而我使用的是 2.0。我可以将 rb-inotify 添加到版本为 0.9.1 的 gemfile 中以完成构建,但是在 attach_function 的 ffi 中运行我的应用程序失败,因为在 libc.dylib 中找不到“inotify_init”。rb-inotify 没有在 4.1 中加载,所以我怀疑我得到了一些不应该使用时请求 rb-inotify 的 gem 的错误版本。我想查看哪个 gem 具有 rb-inotify 作为依赖项,但由于我必须将它固定到版本“0.9.1”才能获得构建,gemfile 只是按照 gemfile 的要求显示它,而不是任何其他宝石。我试图 grep 我所有的宝石 rb-inotify 的 gempspecs 但唯一的匹配来自listen 和 newrelic-rpm(即使在我成功构建之后,它们都不包含在我的包中)。我如何才能确定哪个 gem 被拉入并请求 rb-inotify?
解决方案
试图找出哪个 gem 正在请求特定的 gem。...我怎样才能找出请求的宝石?
我为此编写了一个捆绑程序插件,灵感来自yarn why
.
bundle why tzinfo
ransack -> activesupport -> tzinfo
rspec-rails -> activesupport -> tzinfo
business_time -> tzinfo
https://github.com/jaredbeck/bundler-why
或者,您可以grep
将您的Gemfile.lock
.
推荐阅读
- java - JavaPairRDD 到数据集
在火花
- excel - How to pass an array of results in a User defined Function in Excel-VBA?
- google-chrome - 为什么我的扩展程序上出现“不支持的扩展程序已禁用”?
- load-balancing - 使用 traefik 的 Grpc 负载平衡不起作用
- python - 在 Fabric 2/Invoke 中:更改目录并使用 sudo
- javascript - 如何在servlet中获取父子复选框的值
- python - Image texture with skimage
- angular - Angular 6 - Ngx Datable - 部分实现的主题
- microsoft-graph-api - 无法使用自定义路径上传文档库文件夹中的文档
- r - GGPlot2 为 Shiny Dashboard 设计