Ruby gemは、特定のリリースではなく、最後の互換バージョンの後に呼び出されるディレクトリにインストールされます。どうすればそのバージョンを入手できますか?RubyからGems互換バージョンを取得する方法
たとえば、Ruby 2.3.3
の場合、宝石は2.3.0
ディレクトリにインストールされます。どのようにそのバージョンがRubyインタプリタから得られたものかを知るには?
Ruby gemは、特定のリリースではなく、最後の互換バージョンの後に呼び出されるディレクトリにインストールされます。どうすればそのバージョンを入手できますか?RubyからGems互換バージョンを取得する方法
たとえば、Ruby 2.3.3
の場合、宝石は2.3.0
ディレクトリにインストールされます。どのようにそのバージョンがRubyインタプリタから得られたものかを知るには?
その他の正しい答えがありますが、パスを使用してください。私はそれを追跡しました:
Gem.ruby_api_version
これは、それ自身でバージョンを返します。
Gem.loaded_specs
は、ロードされた宝石のハッシュを提供します。そのリストから、1つの宝石を選択します。
Gem.loaded_specs["did_you_mean"]
# => {"did_you_mean"=>#<Gem::Specification:0x2abac1f4ecb8 did_you_mean-1.0.0>}
gem_dir
はあなたのディレクトリを与える:
Gem.loaded_specs["did_you_mean"].gem_dir
# => ".../.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0"
この場合、私はRubyの2.3.3を使用していて、宝石は2.3.0の下にありますディレクトリ。
2.3.1と同じ動作になります。ここでは、「2.3.0」を提示する方法の1つです:
% ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]
% ruby -e 'print Gem.user_dir'
/Users/kburnett/.gem/ruby/2.3.0
% ruby -e "print RbConfig::CONFIG['ruby_version']"
2.3.0
は、インストール時に使用しているRubyのバージョンにインストールされていませんか? –
@maxpleはい、それは質問ではありません:) – viraptor