我試圖找出指定gem的所有遠程可用版本。如何列出在遠程站點上可用的所有gem版本?
我試着使用:
gem list rhc --remote
但它顯示:
*** REMOTE GEMS ***
rhc (0.84.15)
rhcp (0.2.18)
rhcp_shell (0.2.12)
任何想法?
我試圖找出指定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