2012-02-05 13 views

Respuesta

173

Bueno, era más fácil de lo que pensaba (bueno, en realidad no, digamos tan fácil como debería ser):

gem list rhc --remote --all 

Que devuelve:

*** 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) 
+45

nota también que "RHC" es una expresión regular, así que si sólo quiere ver que uno, yo podrías buscar 'gem list^rhc $' y las banderas "--remote" y "--all" se pueden abreviar y combinar para 'gem list^rhc $ -ra' –

+0

Gracias Joshua, buen consejo – opensas

+5

ten en cuenta que puede pasar otras opciones, es decir. para obtener los últimos prelanzamientos del pasajero de ficción que quieras: 'lista de gemas -ra --pre pasajero' (-ra == --remoto --todos) –

-2

Probar:

gem list [STRING] [options] 

Por ejemplo:

gem list rhc -r 

O tratar:

gem list -r rhc 

(la documentación, y el ejemplo que parece que se contradicen entre sí - probar ambos)


Consulte la documentación:

http://docs.rubygems.org/read/chapter/10#page34

+1

Esto no enumera todas las versiones –

18

Según RubyGem's Guide debe usar la palabra clave search.Por lo que el comando podría ser:

gem search rhc --all

Si desea exacta el uso nombre:

gem search ^rhc$ --all

Si desea incluir el uso versiones preliminares --pre

gem search ^rhc$ --pre

Y si está usando zsh, agregue cotizaciones:

gem search '^rhc$' --all

+4

use' --prerelease' para ver las versiones beta – akostadinov

6

para extender la respuesta de @ eyalev, si desea una lista de una versión por línea, aquí hay una sola línea:

gem search '^rspec$' --all \ 
    | grep -o '\((.*)\)$' \ 
    | tr -d '() ' \ 
    | tr ',' "\n" \ 
    | sort 
0.0.10 
0.1.0 
0.1.1 
# etc. 

Para hacer esto un poco más reutilizable , se podría escribir algunas funciones (perdón por mis habilidades de bash limitados):

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. 
Cuestiones relacionadas