Bundler не смог найти совместимые версии для gem, обновив приложение Rails - программирование
Подтвердить что ты не робот

Bundler не смог найти совместимые версии для gem, обновив приложение Rails

После создания нового приложения рельсов Следуя официальному блогу rails post, попытка конвертировать приложения в рельсы 3.2.0.rc2 дает следующие

Updated Gemfile to depend on rails ~> 3.2.0.rc2
    gem 'rails', '~>3.2.0.rc2'
Updated Gemfile to depend on sass-rails ~> 3.2.3
    gem 'sass-rails',   '~> 3.2.3'

$ bundle install
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "activesupport":
  In snapshot (Gemfile.lock):
    activesupport (3.1.1)

  In Gemfile:
    rails (~> 3.2.0.rc2) ruby depends on
      activesupport (= 3.2.0.rc2) ruby

Running `bundle update` will rebuild your snapshot from scratch, using 
only the gems in your Gemfile, which may resolve the conflict.

$bundle update
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "railties":
  In Gemfile:
    coffee-rails (~> 3.1.1) ruby depends on
      railties (~> 3.1.0) ruby

    rails (~> 3.2.0.rc2) ruby depends on
      railties (3.2.0.rc2)

В чем именно проблема?

Системные характеристики:

Mac OS 10.7.2, Xcode 4.2.1, rvm 1.10.1 с использованием ruby ​​1.9.3p0 (2011-10-30 версия 33570) [x86_64-darwin11.2.0]

4b9b3361

Ответ 1

Я решил это, удалив замок rm Gemfile.lock и снова запустив bundle install:

$ rm Gemfile.lock
$ bundle install
Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.0.4) 
Using activesupport (3.2.0.rc2) 
Using builder (3.0.0) 
Using activemodel (3.2.0.rc2) 
Using erubis (2.7.0) 
Using journey (1.0.0) 
Using rack (1.4.0) 
Using rack-cache (1.1) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.2) 
Using actionpack (3.2.0.rc2) 
Using mime-types (1.17.2) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.3.0) 
Using actionmailer (3.2.0.rc2) 
Using arel (3.0.0) 
Using tzinfo (0.3.31) 
Using activerecord (3.2.0.rc2) 
Using activeresource (3.2.0.rc2) 
Using bundler (1.0.21) 
Using coffee-script-source (1.2.0) 
Using execjs (1.2.13) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.6.4) 
Using rdoc (3.12) 
Using thor (0.14.6) 
Using railties (3.2.0.rc2) 
Using coffee-rails (3.2.1) 
Using jquery-rails (2.0.0) 
Using rails (3.2.0.rc2) 
Using sass (3.1.12) 
Using sass-rails (3.2.3) 
Using sqlite3 (1.3.5) 
Using uglifier (1.2.2) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

Это довольно грубая сила для устранения проблемы. Если это установленный проект, вы можете столкнуться с другими проблемами после удаления Gemfile.lock, поскольку версии зависимостей больше не блокируются. Однако, если это новый проект, вряд ли у вас возникнут проблемы с этим подходом.

Ответ 2

Как и sass-rails, вам нужно поднять версию coffee-rails, на которую вы тоже зависите (3.2.1 должно это сделать)

Ответ 3

выполните следующие действия: gem 'activeadmin', github: 'gregbell/active_admin' в файле da gemfile. Активная админ-поддержка для рельсов 4 объединена в мастер-ветку Active admin install with Rails 4

Ответ 4

Если ваша версия поставщика не совпадает с BUNDLED WITH в последней строке вашего Gemfile.lock, может возникнуть ситуация "не удалось найти совместимые версии для gem GEMNAME" только после добавления нового gem в ваш Gemfile.