Відповіді:
Що ж, було легше, ніж я думав (ну, не дуже, скажімо так просто, як це повинно бути):
gem list rhc --remote --all
Що повертає:
*** 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
zsh
мають більш вдосконалений синтаксичний розбір і можуть зафіксувати заданий таким чином регулярний вираз. Щоб бути більш безпечним (якщо ставити щось подібне в сценарій чи README) - це поставити його в рядок, щоб ми переконалися, що ми передаємо його 1-1, тобто gem list '^rhc$'
тощо.
zsh
зробив це +1 для вашої допомоги!
--prerelease
для перегляду бета-версій
Відповідно до посібника RubyGem, ви повинні використовувати search
ключове слово. Отже командою могло бути:
gem search rhc --all
Якщо ви хочете точно використовувати ім’я:
gem search ^rhc$ --all
Якщо ви хочете включити попередні версії, використовуйте --pre
gem search ^rhc$ --pre
І якщо ви використовуєте zsh
додавання цитат:
gem search '^rhc$' --all
--prerelease
для перегляду бета-версій
Щоб розширити відповідь @ eyalev, якщо ви хочете список однієї версії на рядок, ось один вкладиш:
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
Щоб зробити це повторно використаним, ви можете написати деякі функції (вибачте за мої обмежені навички баш):
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.
Спробуйте:
gem list [STRING] [options]
Наприклад:
gem list rhc -r
Або спробуйте:
gem list -r rhc
( документація та поданий приклад, здається, суперечать один одному - спробуйте обидва )
Дивіться документацію:
gem list ^rhc$
а "--remote" та "--all" прапори можна скоротити та комбінуватиgem list ^rhc$ -ra