Antworten:
Nun, es war einfacher als ich dachte (nun, nicht wirklich, sagen wir so einfach wie es sein sollte):
gem list rhc --remote --all
Welches kehrt zurück:
*** 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
fortgeschrittenes Parsen haben und den auf diese Weise gegebenen regulären Ausdruck abfangen könnten. Um sicherer zu sein (wenn Sie so etwas in ein Skript oder eine README- gem list '^rhc$'
zsh
dies +1 für Ihre Hilfe getan habe!
--prerelease
, um Beta-Versionen zu sehen
Laut RubyGem's Guide sollten Sie das search
Schlüsselwort verwenden. Der Befehl könnte also lauten:
gem search rhc --all
Wenn Sie den genauen Namen wünschen, verwenden Sie:
gem search ^rhc$ --all
Wenn Sie Vorabversionen einschließen möchten, verwenden Sie --pre
gem search ^rhc$ --pre
Und wenn Sie zsh
Anführungszeichen hinzufügen:
gem search '^rhc$' --all
--prerelease
, um Beta-Versionen zu sehen
Um die Antwort von @ eyalev zu erweitern, wenn Sie eine Liste mit einer Version pro Zeile wünschen, hier ein Einzeiler:
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
Um dies ein bisschen wiederverwendbarer zu machen, könnten Sie einige Funktionen schreiben (entschuldigen Sie meine begrenzten Bash-Fähigkeiten):
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.
Versuchen:
gem list [STRING] [options]
Beispielsweise:
gem list rhc -r
Oder Versuche:
gem list -r rhc
( Die Dokumentation und das bereitgestellte Beispiel scheinen sich zu widersprechen - versuchen Sie beide )
Siehe die Dokumentation:
gem list ^rhc$
und die Flags "--remote" und "--all" können fürgem list ^rhc$ -ra