2012-02-05 73 views

回答

173

嗯,这是比我想象的(当然,不是真的,让我们说的那样容易,因为它应该是)更容易:

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) 
+45

另外请注意,“RHC”是一个正则表达式,所以如果你只是想看看那一个,哟你可以搜索'gem list^rhc $'和“--remote”和“--all”标志可以缩写并合并为'gem list^rhc $ -ra' – 2012-02-05 04:19:44

+0

感谢Joshua,好的提示 – opensas 2012-02-05 14:10:15

+5

请注意,你可以通过其他选项,即。以获得最新的phusion乘客预发布,你会想要:'gem list -ra --pre passenger'(-ra == --remote --all) – 2013-04-23 06:28:36

-2

尝试:

gem list [STRING] [options] 

例如:

gem list rhc -r 

或者试试:

gem list -r rhc 

的文档,并提供了例子似乎相互矛盾的 - 都试一下


参见文档:

http://docs.rubygems.org/read/chapter/10#page34

+1

这并没有列出所有版本 – 2012-07-24 18:37:44

18

根据RubyGem's Guide您应该使用search关键字。因此,命令可能是:

gem search rhc --all

如果你想确切的名称使用:

gem search ^rhc$ --all

如果要包括预发布版本使用--pre

gem search ^rhc$ --pre

如果你使用zsh添加报价:

gem search '^rhc$' --all

+4

使用'--prerelease'查看测试版本 – akostadinov 2015-01-05 09:25:25

6

为了延长@ 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. 
相关问题