如何列出任何非依赖项的 gem(即,有点像 Homebrew 中的“brew leaves”)
How to list any gems that aren't dependencies (i.e., sort of like `brew leaves` in Homebrew)
我知道 gem dependency
是调查依赖图的一种方法,但我正在寻找更直接的方法。我只想列出不依赖于其他 gem 的 gem。
在 Homebrew 中,您可以使用 brew leaves
完成类似的操作 - 这会列出不依赖于其他包的包。我提到这一点,以防它有助于理解我想要完成的事情。
听起来您正在寻找 gem list
命令。
如果您正在寻找 gem 帮助,您可以 run gem --help
.
我为此制作了一个小 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 dependency
是调查依赖图的一种方法,但我正在寻找更直接的方法。我只想列出不依赖于其他 gem 的 gem。
在 Homebrew 中,您可以使用 brew leaves
完成类似的操作 - 这会列出不依赖于其他包的包。我提到这一点,以防它有助于理解我想要完成的事情。
听起来您正在寻找 gem list
命令。
如果您正在寻找 gem 帮助,您可以 run gem --help
.
我为此制作了一个小 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