RubyGems插件用于管理已安装的gem混乱问题?

4
也许有人知道是否已经存在这种类型的RubyGems插件,如果是的话,在我自己尝试编写它之前,请帮我确认一下。
我没有使用RVM* 或Bundler (编辑:请参见评论中的线程),因此我安装了许多系统gem。我想整理出哪些是我真正想要使用的gem,哪些是必须存在于我真正想要使用的gem的依赖项,以及哪些只是可以清理的垃圾。
如果有人熟悉Gentoo,我想到的是类似于Gentoo软件包管理的东西,但针对的是RubyGems——一种标记我真正想要保留的少量gems的方法,然后运行一个命令,该命令可以遍历所有的gems并清理那些不是这些gems的依赖关系. 换句话说,就像RubyGems的“@world”集合。
*无论如何,RVM对我来说都不是一个选择,因为我必须使用Microsoft Windows。

你有检查过 Pik 吗?链接:https://github.com/vertiginous/pik/ - fmendez
是的,我使用过 Pik,并且我喜欢 Pik。但我不认为它适用于这个特定的问题。我想要一个 RubyGems 插件,可以跟踪我明确请求安装的 gem,并因此区分重要依赖项和完全孤立的 gem。(我找到了 gem-orphan,但我认为它太过时了,没有任何用处。) - L2G
你可以检查 gem 目录的访问时间吗?在 Unix 中,你可以使用 stat 命令,但由于你想在 Windows 上运行它,你可以编写一个使用 File::Stat 类的 Ruby 脚本。例如,检查那些在某个特定日期之后没有被访问的 gem。 - Jon Cairns
当我编写我的RubyGems插件时,我必须记住这种技巧。谢谢。 (我只是不想编写我的RubyGems插件,如果有人已经编写了一个的话。听起来好像没有人这样做过。) - L2G
@L2G 老帖但适用于任何来自 Google 的旅行者。 2015年,不幸的是,bundler 的默认行为仍然是在全局范围内安装 Gemfile 依赖项。 我编写了一个 bash 脚本,以防我没有指定路径或标记部署选项而执行 bundle install。 https://gist.github.com/SephVelut/4b49100e7f9b50d996e6 - Seph
显示剩余3条评论
1个回答

0
如果您安装了graphviz,那么您可以运行bundle viz命令,这将生成一个依赖关系的点符号映射图,您可以使用它来追踪依赖项,找出您实际需要安装的gem(但仅限于通过bundler安装的gem)。
bundle viz --format=dot

谢谢你的提示。不过我正在尝试整理Ruby系统gems,而不是任何一个Bundler控制的项目的gems。虽然我很感激这个提示——我忘记了viz命令在里面! - L2G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接