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)
zshhanno 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.
zshfacevo questo +1 per il tuo aiuto!
--prereleaseper vedere le versioni beta
Secondo la Guida di RubyGem dovresti usare la searchparola 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 zshaggiungi citazioni:
gem search '^rhc$' --all
--prereleaseper 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