Risposte:
Bene, è stato più facile di quanto pensassi (beh, non proprio, diciamo facile come dovrebbe essere):
gem list rhc --remote --all
Che ritorna:
*** 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)
zsh
hanno un parsing più avanzato e potrebbero catturare la regex data in questo modo. Essere più sicuri (se mettere sth in questo modo in uno script o README) è metterlo in una stringa in modo che siamo sicuri di passarlo 1-1, cioè gem list '^rhc$'
ecc.
zsh
facevo questo +1 per il tuo aiuto!
--prerelease
per vedere le versioni beta
Secondo la Guida di RubyGem dovresti usare la search
parola chiave. Quindi il comando potrebbe essere:
gem search rhc --all
Se vuoi il nome esatto usa:
gem search ^rhc$ --all
Se si desidera includere versioni non definitive, utilizzare --pre
gem search ^rhc$ --pre
E se stai usando zsh
aggiungi citazioni:
gem search '^rhc$' --all
--prerelease
per vedere le versioni beta
Per estendere la risposta di @ eyalev, se desideri un elenco di una versione per riga, ecco una riga:
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
Per renderlo un po 'più riutilizzabile, potresti scrivere alcune funzioni (scusate le mie abilità bash limitate):
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.
Provare:
gem list [STRING] [options]
Per esempio:
gem list rhc -r
Oppure prova:
gem list -r rhc
( la documentazione e l'esempio fornito sembrano contraddirsi a vicenda - prova entrambi )
Vedi la documentazione:
gem list ^rhc$
e le bandiere "--remote" e "--all" possono essere abbreviate e combinate pergem list ^rhc$ -ra