2012-02-05 47 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. 
相關問題