J'essaie de trouver toutes les versions disponibles à distance d'un joyau spécifié.
J'ai essayé d'utiliser:
gem list rhc --remote
Mais cela montre:
*** REMOTE GEMS ***
rhc (0.84.15)
rhcp (0.2.18)
rhcp_Shell (0.2.12)
Des idées?
Eh bien, c'était plus facile que je ne le pensais (enfin, pas vraiment, disons aussi facile qu'il devrait l'être):
gem list rhc --remote --all
Qui retourne:
*** 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)
Selon Guide de RubyGem , vous devez utiliser le mot clé search
. Donc, la commande pourrait être:
gem search rhc --all
Si vous voulez le nom exact, utilisez:
gem search ^rhc$ --all
Si vous souhaitez inclure les versions préliminaires, utilisez --pre
gem search ^rhc$ --pre
Et si vous utilisez zsh
ajoutez des guillemets:
gem search '^rhc$' --all
Pour étendre la réponse de @ eyalev, si vous voulez une liste d'une version par ligne, voici une ligne:
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
Pour rendre ceci un peu plus réutilisable, vous pouvez écrire quelques fonctions (excusez mes compétences limitées en 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.