如何检查已安装的Ruby gem的所有依赖项是否满足?

Ada*_*ers 13 ruby verification gem dependencies

我必须遗漏一些东西,因为昨晚我惊讶地发现谷歌搜索check gem dependencies和类似没有透露答案.

我基本上是在大致相当于rpm -V- 一个命令将通过我的一些或所有已安装的gems并确保它们的依赖项也已安装.由于gem install默认情况下安装任何依赖宝石,通常这不是必需的; 但是,如果你gem uninstall是一个宝石,并告诉它继续卸载,即使其他宝石依赖于正在卸载的宝石,那么显然你最终会破坏依赖.问题是,如何在不安装/卸载/更新任何宝石的情况下列出那些破坏的依赖项?

涉及Bundler的NB答案对我来说没什么用处,因为我仍然因为各种原因而被困在Rails 2.x上.

phi*_*dad 16

在bash shell中:

gem list --no-version > list
gem dependency --pipe > depends
grep -v -f list depends > failed.txt
rm list
rm depends
Run Code Online (Sandbox Code Playgroud)

failed.txt现在将包含未安装的所有依赖项的列表.

  • 如果StackOverflow让我:-(它需要15点声望,我认为这是我自己的问题,这看起来很荒谬. (3认同)

geo*_*ock 5

我知道你说你对Bundler的答案不感兴趣,但......

Bundler将为您处理gem依赖项解析,并与Rails 2.3兼容.我已经使用Bundler和许多Rails 2应用程序,并没有任何问题.

这里有关于在Rails 2.3上安装Bundler的说明:http://gembundler.com/rails23.html