2011-08-04 16 views
8

Moja konfiguracja: Rails 3.0.9, Ruby 1.9.2Sprawdź numer wersji gem

Chcę sprawdzić wersję gem dla mojej aplikacji przez konsolę Rails. W moim pliku gem, mam

gem 'rack', '1.2.3' 

Instalacja pakietu Ran po. W konsoli Rails,

>> Rack.version 
=> "1.1" 

Każdy pomysł, dlaczego?

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) 
... 

Istnieje kilka wersji rack wymienione w gemfile.lock.

+0

co o wersji rack w 'Gemfile.lock' plik? –

+0

jakie jest pełne polecenie używane do uruchomienia konsoli? – kain

+0

@nash, zobacz zaktualizowane pytanie, aby poznać szczegóły. @kain, 'konsola szynowa' dla dev,' konsola heroku --app 'do produkcji. – Bob

Odpowiedz

22
Rack.version 

powróci wersję protokołu,

Rack.release 

jest chyba to, czego szukasz.

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

Inaczej:

Gem.loaded_specs["rack"] 

Przykład:

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

Dzięki Kain, dokładnie tego potrzebowałem, zwraca 1.2.3. – Bob

+0

W oddzielnej notatce, jesteś na Rails 3.1, ponieważ 3.0.x nie zainstaluje Rack 1.3.x. – Bob

+0

Tak, używam mistrza szyn, oznaczonego jako 3.2.0beta – kain

-1

Być może masz zainstalowaną wiele wersji szafy, spróbuj uruchomić gem uninstall rack i sprawdź, czy oferuje dwie opcje do wyboru, Rack 1.1 i Rack 1.2.3. Jeśli tak, wybierz odinstalowanie Rack 1.1.

Jeśli to nadal nie działa, po prostu odinstaluj stację i spróbuj uruchomić aktualizację pakietu.

Miałem ten problem, gdy korzystałem z wielu wersji rake 0.8.7 i 0.9.2, pomogło mi to.

+0

Mam wiele wersji Rack (i rake) zainstalowanych, ale tylko Rack 1.2.2 i 1.2.3, a nie 1.1. Czy moje polecenie sprawdza poprawność wersji Rack w konsoli? – Bob

+0

Nie jestem pewien, nigdy tego nie próbowałem. Alternatywnie, możesz użyć tej sztuczki: ** lista klejnotów --local | grep 'rack' ** Powinno to zawierać listę wszystkich twoich wersji rack. – rookieRailer

Powiązane problemy