我知道使用gem dependency
可以调查依赖图,但我想要更简单明了的方法。我只需要列出不是其他gems依赖项的gems。
在Homebrew中,您可以通过brew leaves
实现类似的操作-这将列出不是其他软件包依赖项的软件包。我提到这一点是为了帮助理解我想要实现的目标。
我知道使用gem dependency
可以调查依赖图,但我想要更简单明了的方法。我只需要列出不是其他gems依赖项的gems。
在Homebrew中,您可以通过brew leaves
实现类似的操作-这将列出不是其他软件包依赖项的软件包。我提到这一点是为了帮助理解我想要实现的目标。
我为此编写了一个小型的Shell脚本:
#!/bin/sh
GEMS_FILE=`mktemp`
DEPENDENCIES_FILE=`mktemp`
gem list -l | sed 's/ (.*//' | sort > $GEMS_FILE
cat $GEMS_FILE | xargs -n1 gem dependency -l --pipe | sed 's/ --version.*//' | sort -u > $DEPENDENCIES_FILE
comm -23 $GEMS_FILE $DEPENDENCIES_FILE
rm -f $GEMS_FILE $DEPENDENCIES_FILE
同时也有Gist形式的版本:https://gist.github.com/astyagun/290b783045afffb8190a0c75ab76d0fa
听起来你正在寻找 gem list
命令。
如果你正在寻求 gem 的帮助,只需要运行 gem --help
命令即可。