2011-08-04 31 views
8

私の設定:Rails 3.0.9、Ruby 1.9.2gemのバージョン番号を確認してください

Railsコンソールから私のアプリケーションのgemバージョンを確認したいと思います。私のgemfileには、私は持っています

gem 'rack', '1.2.3' 

ランバンドルインストール後です。 Railsコンソールでは、

>> Rack.version 
=> "1.1" 

なぜか?

UPDATE

Gemfile.lock 

GEM 
    remote: http://rubygems.org/ 
    specs: 
    actionpack (3.0.9) 
     ... 
     rack (~> 1.2.1) 
     ... 

    rack (1.2.3) 

    rack-mount (0.6.14) 
     rack (>= 1.0.0) 

    warden (1.0.4) 
     rack (>= 1.0) 

DEPENDENCIES 
... 
rack (= 1.2.3) 
... 

gemfile.lockに記載されているいくつかのラックのバージョンがあります。

+0

何ラックバージョンに関する 'Gemfile.lock'ファイルに? –

+0

コンソールの実行に使用した完全なコマンドは何ですか? – kain

+0

@nash、詳細は更新された質問を参照してください。 @kain、devilsの 'rails console'、生産のための' heroku console --app 'です。 – Bob

答えて

22
Rack.version 

は、

Rack.release 

をプロトコルバージョンを返します、あなたが探しているものと考えられます。

https://github.com/rack/rack/blob/master/lib/rack.rb#L14

そうでない場合:

Gem.loaded_specs["rack"] 

例:

ruby-head :006 > Gem.loaded_specs["rack"] 
=> #<Gem::Specification name=rack version=1.3.2> 
ruby-head :007 > Gem.loaded_specs["rack"].version 
=> #<Gem::Version "1.3.2"> 
ruby-head :008 > Gem.loaded_specs["rack"].version.to_s 
=> "1.3.2" 
+0

ありがとうKain、それは私が必要としていたものです。1.2.3を返します。 – Bob

+0

別の注意点として、3.0.xではRack 1.3.xがインストールされないため、Rails 3.1を使用していますか? – Bob

+0

はい、レールマスターを使用していますが、3.2.0beta – kain

-1

複数のバージョンのラックがインストールされている場合は、gem uninstall rackを実行して、ラック1.1とラック1.2.3の2つのオプションから選択できるかどうかを確認してください。その場合は、Rack 1.1のアンインストールを選択します。

これでも解決しない場合は、Rackをアンインストールしてbundle updateを実行してみてください。

複数のレーキバージョン0.8.7と0.9.2を使用していたときにこの問題が発生しました。これは私にとって役に立ちました。

+0

私は複数のバージョンのRack(およびレーキ)をインストールしていますが、Rack 1.2.2および1.2.3では1.1ではありません。私のコマンドはコンソールのラックのバージョンをチェックしていますか? – Bob

+0

本当にわかりませんが、それを試みたことはありません。 また、このスリックトリックを使用することもできます。 ** gem list --local | grep 'rack' ** すべてのラックのバージョンが表示されます。 – rookieRailer

関連する問題