Проблемы с обновлением Ruby on Rails с версии 3.2.13 до 4.0.0

Для моего приложения я пытаюсь обновить Ruby on Rails с версии 3.2.13 до 4.0.0, и у меня возникают проблемы при установке/обновлении некоторого драгоценного камня (с помощью Bundler), в частности globalize3. Я использую Руби 2.0.0-p247.

Учитывая, что мой Gemfile:

gem 'rails', '4.0.0'

gem 'globalize3', github: 'svenfuchs/globalize3', branch: 'rails4'

gem 'delayed_job', :git => 'git://github.com/collectiveidea/delayed_job.git', :branch => 'master'
gem 'delayed_job_active_record', :git => 'git://github.com/collectiveidea/delayed_job_active_record.git', :branch => 'master'

# Added these gems to help with the transition to rails4:
gem 'protected_attributes'
gem 'rails-observers'
gem 'actionpack-page_caching'
gem 'actionpack-action_caching'
gem 'activerecord-deprecated_finders'

Когда я запускаю команду bundle install в окне терминала

Затем я получаю следующий вывод:

Updating git://github.com/svenfuchs/globalize3.git
Fetching gem metadata from https://rubygems.org/.......
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Bundler could not find compatible versions for gem "activerecord":
  In Gemfile:
    globalize3 (>= 0) ruby depends on
      activerecord (~> 3.0) ruby

    delayed_job_active_record (>= 0) ruby depends on
      activerecord (4.0.0)

Bundler could not find compatible versions for gem "rails":
  In Gemfile:
    globalize3 (>= 0) ruby depends on
      rails (~> 3) ruby

    rails (4.0.0)

Когда я запускаю команду bundle update в окне терминала

Затем я получаю следующий вывод:

Updating git://github.com/collectiveidea/delayed_job.git
Updating git://github.com/collectiveidea/delayed_job_active_record.git
Updating git://github.com/svenfuchs/globalize3.git
Fetching gem metadata from https://rubygems.org/.......
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Bundler could not find compatible versions for gem "rails":
  In Gemfile:
    globalize3 (>= 0) ruby depends on
      rails (~> 3) ruby

    rails (4.0.0)

Bundler could not find compatible versions for gem "railties":
  In Gemfile:
    globalize3 (>= 0) ruby depends on
      railties (~> 3.0) ruby

    coffee-rails (~> 4.0.0) ruby depends on
      railties (4.0.0)

Bundler could not find compatible versions for gem "actionpack":
  In Gemfile:
    rails (= 4.0.0) ruby depends on
      actionpack (= 4.0.0) ruby

    actionpack-action_caching (>= 0) ruby depends on
      actionpack (4.0.0.rc2)

Как я могу решить проблему? Действительно ли гем globalize3 совместим с Ruby on Rails 4? Целесообразно ли ждать обновления до Ruby on Rails 4?

Примечание: я видел #415 Обновление до Rails 4 railscast, и я сделал много поисков в Интернете (наиболее разумное обсуждение: «Globalize3 не работает with Rails4") о проблеме, но у меня все еще проблемы.


person Backo    schedule 19.07.2013    source источник
comment
Привет, Backo, не могли бы вы предоставить некоторые материалы или шаги для обновления?   -  person harsh4u    schedule 23.06.2014


Ответы (2)


Гем globalize3 был переименован в globalize, а основные номера версий теперь соответствуют соответствующей версии ActiveRecord (3.x для AR3 и 4.x для AR4).

Так что все, что вам нужно сделать, это поместить это в свой Gemfile, и у вас не должно возникнуть никакого конфликта:

gem 'globalize', '~> 4.0.0.alpha.2'

Дополнительные сведения см. также в репозитории github.

person Chris Salzberg    schedule 12.11.2013

Попробуйте использовать ветку rails4, чтобы избежать проблем с обновлением.

gem 'globalize3', git: 'https://github.com/svenfuchs/globalize3.git', branch: 'rails4'

Однако вы все равно можете столкнуться с некоторыми проблемами, потому что это нестабильная ветка.

person gvalmon    schedule 21.07.2013