Respostas:
Bem, foi mais fácil do que eu pensava (bem, na verdade não, digamos o mais fácil que deveria ser):
gem list rhc --remote --all
Que retorna:
*** 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(-ra == --remote --all)
zshanálise mais avançada, podem capturar o regex fornecido dessa maneira. Para ser mais seguro (se colocando sth como que em um script ou README) é colocá-lo em uma corda de modo que temos a certeza que passá-lo 1-1, ou seja, gem list '^rhc$'etc
zshfiz este +1 por sua ajuda!
--prereleasepara ver versões beta
De acordo com o Guia do RubyGem, você deve usar a searchpalavra - chave. Portanto, o comando pode ser:
gem search rhc --all
Se você quiser o nome exato, use:
gem search ^rhc$ --all
Se você deseja incluir versões de pré-lançamento, use --pre
gem search ^rhc$ --pre
E se você estiver usando zshadicionar aspas:
gem search '^rhc$' --all
--prereleasepara ver versões beta
Para estender a resposta do @ eyalev, se você quiser uma lista de uma versão por linha, aqui está uma lista:
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
Para tornar isso um pouco mais reutilizável, você pode escrever algumas funções (perdoe minhas habilidades limitadas do 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.
Experimentar:
gem list [STRING] [options]
Por exemplo:
gem list rhc -r
Ou tente:
gem list -r rhc
( a documentação e o exemplo fornecido parecem contradizer um ao outro - tente os dois )
Veja a documentação:
gem list ^rhc$e os sinalizadores "--remote" e "--all" podem ser abreviados e combinados paragem list ^rhc$ -ra