Проверьте номер версии драгоценного камня - PullRequest
8 голосов
/ 05 августа 2011

Мои настройки: Rails 3.0.9, Ruby 1.9.2

Я хочу проверить версию гема для моего приложения через консоль Rails.В моем gemfile у меня установлена ​​

gem 'rack', '1.2.3'

Ran bundle после установки.В консоли Rails

>> Rack.version
=> "1.1"

Есть идеи почему?

ОБНОВЛЕНИЕ

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 перечислены несколько версий стойки.

Ответы [ 3 ]

22 голосов
/ 05 августа 2011
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"
1 голос
/ 20 марта 2019

Каждый гем имеет константу :: VERSION .. поэтому просто используйте Rack :: VERSION или OpenSSL :: VERSION в консоли, которая должна дать вам версию гема, загруженную в эту консоль.

0 голосов
/ 05 августа 2011

Возможно, у вас установлено несколько версий стоек, попробуйте запустить gem uninstall rack и посмотреть, предлагает ли он вам два варианта: Rack 1.1 и Rack 1.2.3.Если это так, выберите удаление Rack 1.1.

Если это все еще не работает, просто удалите Rack и попробуйте запустить обновление комплекта.

У меня была эта проблема, когда я использовал несколько версий рейка 0.8.7 и 0.9.2, это помогло мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...