2011-08-04 11 views
8

내 설정 : Rails 3.0.9, Ruby 1.9.2gem 버전 번호 확인

Rails 콘솔을 통해 내 응용 프로그램의 보석 버전을 확인하고 싶습니다. 내 gemfile에서 나는 가지고있다

gem 'rack', '1.2.3' 

Ran 번들 설치 이후. 레일즈 콘솔에서

>> 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 중에서 선택할 수있는 옵션이 있는지 확인하십시오. 그렇다면 Rack 1.1을 제거하도록 선택하십시오.

그래도 문제가 해결되지 않으면 Rack을 제거하고 번들 업데이트를 실행 해보십시오.

여러 레이크 버전 0.8.7과 0.9.2를 사용했을 때이 문제가 발생하여 도움이되었습니다.

+0

여러 버전의 Rack (및 Rake)이 설치되어 있지만 Rack 1.2.2 및 1.2.3 (1.1 제외) 만 설치되어 있습니다. 내 명령이 콘솔의 랙 버전을 확인하고 있습니까? – Bob

+0

확실하지는 않습니다. 결코 시도하지 않았습니다. 또는 다음과 같은 유용한 정보를 사용할 수 있습니다. ** gem list --local | grep 'rack'** 모든 랙 버전을 나열해야합니다. – rookieRailer