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)
zsh
phâ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 search
từ 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 zsh
thê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