リモートサイトで入手可能なgemのすべてのバージョンを一覧表示するにはどうすればよいですか?


133

指定されたgemのリモートで利用可能なすべてのバージョンを見つけようとしています。

私は使ってみました:

gem list rhc --remote

しかし、それは示しています:

*** REMOTE GEMS ***
rhc (0.84.15)
rhcp (0.2.18)
rhcp_shell (0.2.12)

何か案は?

回答:


204

まあ、それは思ったよりも簡単でした(まあ、そうではありませんが、本来あるべきように簡単だとしましょう)。

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)

52
また、「rhc」は正規表現であるため、その1つだけを見たい場合は、検索しgem list ^rhc$て「--remote」フラグと「--all」フラグを省略して組み合わせることができますgem list ^rhc$ -ra
Joshua Cheek

5
他のオプションを渡すことができることに注意してください。希望するphusionパッセンジャーの最新のプレリリースを取得するには:gem list -ra --pre passenger
Mirek

5
@JoshuaCheekは、一部のシェルzshはより高度な解析を行っており、このようにして与えられた正規表現をキャッチできることに注意しています。(スクリプトまたはREADMEにそのようSTHを入れている場合)、より安全になることは確か我々はそれが1-1、すなわち渡すので、私たちがしていることを文字列にそれを置くことですgem list '^rhc$'など
mgol

1
@m_golがたまたまコメントを読んでいたので、zshあなたの助けのために+1をしました。
ジェシーウィタム2014年

--prereleaseベータ版を表示するために使用
akostadinov 2015年

32

RubyGemのガイドによると、searchキーワードを使用する必要があります。したがって、コマンドは次のようになります。

gem search rhc --all

正確な名前が必要な場合:

gem search ^rhc$ --all

プレリリース版を含めたい場合は、 --pre

gem search ^rhc$ --pre

また、zsh引用符を追加する場合:

gem search '^rhc$' --all


4
--prereleaseベータ版を表示するために使用
akostadinov

9

@eyalevの答えを拡張するために、1行に1つのバージョンのリストが必要な場合は、1行です:

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

これをもう少し再利用可能にするために、いくつかの関数を書くことができます(私の限られたbashスキルを許してください)。

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.

-2

試してください:

gem list [STRING] [options]

例えば:

gem list rhc -r

または試してください:

gem list -r rhc

ドキュメントと提供された例は互いに矛盾しているようです-両方を試してください


ドキュメントを参照してください:

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


1
これにはすべてのバージョンがリストされているわけではありません
Adam Tegen 2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.