Câu trả lời:
Chà, nó dễ hơn tôi nghĩ (ừ, không hẳn vậy, hãy nói dễ như nó phải thế):
gem list rhc --remote --all
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)
gem list -ra --pre passenger(-ra == --remote --all)
zshphân tích cú pháp nâng cao hơn và có thể bắt được biểu thức chính quy theo cách này. Để an toàn hơn (nếu đặt sth như thế trong tập lệnh hoặc README) là đặt chuỗi đó thành một chuỗi sao cho chúng tôi chắc chắn chúng tôi vượt qua nó 1-1, tức là gem list '^rhc$'v.v.
zshđã làm +1 này để được giúp đỡ!
--prereleaseđể xem các phiên bản beta
Theo Hướng dẫn của RubyGem, bạn nên sử dụng searchtừ khóa. Vì vậy, lệnh có thể là:
gem search rhc --all
Nếu bạn muốn tên chính xác sử dụng:
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, hãy sử dụng --pre
gem search ^rhc$ --pre
Và nếu bạn đang sử dụng zshthêm dấu ngoặc kép:
gem search '^rhc$' --all
--prereleaseđể xem các phiên bản beta
Để mở rộng câu trả lời của @ eyalev, nếu bạn muốn có một danh sách một phiên bản trên mỗi dòng, đây là một dòng:
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
Để làm cho điều này trở nên hữu dụng hơn một chút, bạn có thể viết một số chức năng (bỏ qua các kỹ năng bash hạn chế 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.
Thử:
gem list [STRING] [options]
Ví dụ:
gem list rhc -r
Hay là thử:
gem list -r rhc
( tài liệu và ví dụ được cung cấp dường như mâu thuẫn với nhau - thử cả hai )
Xem tài liệu:
gem list ^rhc$và các cờ "--remote" và "--all" có thể được viết tắt và kết hợp chogem list ^rhc$ -ra