Skip to content

Latest commit

 

History

History
33 lines (25 loc) · 1.06 KB

search-for-gem-versions-available-to-install.md

File metadata and controls

33 lines (25 loc) · 1.06 KB

Search For Gem Versions Available To Install

The gem list command combined with a few flags will produce a listing of all available versions of that gem like so:

gem list rails --exact --remote --all

*** REMOTE GEMS ***

rails (7.1.0, 7.0.8, 7.0.7.2, 7.0.7.1, 7.0.7, ...)

I can then apply a bit of command-line transformation with sed and tr to turn that list of version numbers into a list that can be nicely consumed by other commands. In particular, I will pipe that list to fzf so that I can fuzzy-search through the huge list for specific version matches.

$ gem list rails --exact --remote --all \
  | sed -n 's/.*(\([^)]*\)).*/\1/p' \
  | tr ',' '\n' \
  | sed 's/^ //' \
  | fzf

The first sed command captures everything inside the parentheses. The tr command replaces the commas with new lines. And the second sed command removes those leading space on each line.

Lastly, fzf provides a fuzzy-search interface over the list of versions.