Answers:
好吧,这比我想像的要容易(好吧,不是真的,应该说应该很容易):
gem list rhc --remote --all
哪个返回:
*** REMOTE GEMS ***
rhc (0.84.15, 0.84.13, 0.83.9, 0.82.18, 0.81.14, 0.80.5, 0.79.5, 0.77.8, 0.75.9, 0.74.6, 0.74.5, 0.73.14, 0.72.29, 0.71.2, 0.69.6, 0.69.3, 0.68.5)
rhcp (0.2.18, 0.2.17, 0.2.16, 0.2.15, 0.2.14, 0.1.9, 0.1.8, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3, 0.1.2)
rhcp_shell (0.2.12, 0.2.11, 0.0.9, 0.0.7, 0.0.6, 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1)
gem list -ra --pre passenger
(
zsh
具有更高级的解析功能,并且可以捕获以这种方式给出的正则表达式。为了更安全(如果把某事像在一个脚本或README)是把它放在一个字符串,因此,我们相信,我们通过它1-1,即gem list '^rhc$'
等
zsh
为此+1了!
--prerelease
查看Beta版本
根据《RubyGem指南》,您应该使用search
关键字。因此命令可能是:
gem search rhc --all
如果您想要确切的名称,请使用:
gem search ^rhc$ --all
如果要包含预发行版本,请使用 --pre
gem search ^rhc$ --pre
如果您使用zsh
加引号:
gem search '^rhc$' --all
--prerelease
查看Beta版本
要扩展@eyalev的答案,如果您希望每行列出一个版本,请使用以下代码:
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
为了使它更可重用,您可以编写一些函数(请原谅我有限的bash技能):
function extract_gem_versions() {
echo "$1" \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n";
}
function gem_versions() {
local gem_name="$1";
local pattern="^${gem_name}$";
local vers_str="$(gem search ${pattern} --all)";
extract_gem_versions "$vers_str";
}
gem_versions rspec | sort
0.0.10
0.1.0
0.1.1
# etc.
尝试:
gem list [STRING] [options]
例如:
gem list rhc -r
或尝试:
gem list -r rhc
(文档和提供的示例似乎相互矛盾-都尝试一下)
请参阅文档:
gem list ^rhc$
并且可以缩写“ --remote”和“ --all”标志并将其组合为gem list ^rhc$ -ra