2012-02-05 24 views

Trả lời

173

Vâng, đó là dễ dàng hơn tôi nghĩ (tốt, không thực sự, chúng ta hãy nói dễ dàng như nó nên có):

gem list rhc --remote --all 

Mà trả về:

*** 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

Cũng lưu ý rằng "RHC" là một regex, vì vậy nếu bạn chỉ muốn xem một đó, yo u có thể tìm kiếm cho 'gem list^rhc $' và "--remote" và "--all" flags có thể được viết tắt và kết hợp cho 'gem list^rhc $ -ra' –

+0

Cảm ơn Joshua, mẹo hay – opensas

+5

lưu ý rằng bạn có thể vượt qua các tùy chọn khác, tức là. để có được bản phát hành mới nhất của hành khách phusion bạn muốn: 'gem list -ra --pre passenger' (-ra == --remote --all) –

-2

Hãy thử:

gem list [STRING] [options] 

Ví dụ:

gem list rhc -r 

Hoặc thử:

gem list -r rhc 

(tài liệu, và các ví dụ được cung cấp dường như mâu thuẫn với nhau - thử cả hai)


Xem tài liệu:

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

+1

này không liệt kê tất cả các phiên bản –

18

Theo RubyGem's Guide bạn nên sử dụng từ khóa search.Vì vậy, các lệnh có thể là:

gem search rhc --all

Nếu bạn muốn tên sử dụng chính xác:

gem search ^rhc$ --all

Nếu bạn muốn bao gồm các phiên bản phát hành trước sử dụng --pre

gem search ^rhc$ --pre

Và nếu bạn đang sử dụng zsh thêm dấu ngoặc kép:

gem search '^rhc$' --all

+4

sử dụng' --prerelease' để xem các phiên bản beta – akostadinov

6

Để mở rộng câu trả lời @ eyalev, nếu bạn muốn có một danh sách của một phiên bản trên mỗi dòng, đây là một lớp lót:

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

Để làm điều này thêm một chút tái sử dụng được , bạn có thể viết một số chức năng (tha thứ kỹ năng bash giới hạn của tôi):

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. 
Các vấn đề liên quan