如何列出在远程站点上可用的所有gem版本?
我试图找出指定gem的所有远程可用版本。如何列出在远程站点上可用的所有gem版本?
我试着使用:
gem list rhc --remote
但它显示:
*** REMOTE GEMS ***
rhc (0.84.15)
rhcp (0.2.18)
rhcp_shell (0.2.12)
任何想法?
嗯,这是比我想象的(当然,不是真的,让我们说的那样容易,因为它应该是)更容易:
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 [STRING] [options]
例如:
gem list rhc -r
或者试试:
gem list -r rhc
(的文档,并提供了例子似乎相互矛盾的 - 都试一下)
参见文档:
这并没有列出所有版本 – 2012-07-24 18:37:44
根据RubyGem's Guide您应该使用search
关键字。因此,命令可能是:
gem search rhc --all
如果你想确切的名称使用:
gem search ^rhc$ --all
如果要包括预发布版本使用--pre
gem search ^rhc$ --pre
如果你使用zsh
添加报价:
gem search '^rhc$' --all
使用'--prerelease'查看测试版本 – akostadinov 2015-01-05 09:25:25
为了延长@ 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.
另外请注意,“RHC”是一个正则表达式,所以如果你只是想看看那一个,哟你可以搜索'gem list^rhc $'和“--remote”和“--all”标志可以缩写并合并为'gem list^rhc $ -ra' – 2012-02-05 04:19:44
感谢Joshua,好的提示 – opensas 2012-02-05 14:10:15
请注意,你可以通过其他选项,即。以获得最新的phusion乘客预发布,你会想要:'gem list -ra --pre passenger'(-ra == --remote --all) – 2013-04-23 06:28:36