Rails 3.1.2 - Bundler не смог найти совместимые версии для gem railties

Я пытаюсь установить новую версию драгоценного камня twitter-bootstrap-rails (v2), но получаю указанную выше ошибку. Вот как выглядит мой Gemfile:

source 'http://rubygems.org'

gem 'rails', '3.1.2'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'


gem 'mysql2'
gem 'authlogic'
gem "paperclip", "~> 2.4.5"
gem 'aws-s3'
gem 'actionmailer'
gem "twitter-bootstrap-rails", "~> 2.0"
gem 'sunspot_rails'

#endless page
gem 'will_paginate'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.1.5.rc.2'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end

group :production do
  gem 'therubyracer-heroku', '~> 0.8.1.pre3'
  gem 'pg'
  gem 'thin'
end

group :development do
  gem "taps", "~> 0.3.23"
  gem "rvm", "~> 1.9.2"
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

И полная ошибка:

Bundler could not find compatible versions for gem "railties":
  In Gemfile:
    twitter-bootstrap-rails (~> 2.0) ruby depends on
      railties (>= 3.2.1) ruby

    sass-rails (~> 3.1.5.rc.2) ruby depends on
      railties (3.1.0)

Что случилось? Когда я удаляю версию ~> 2.0 из гема, она работает, но мне нужна новая версия бутстрапа...

EDIT: пакетная установка

Bundler could not find compatible versions for gem "railties":
  In snapshot (Gemfile.lock):
    railties (3.1.2)

  In Gemfile:
    twitter-bootstrap-rails (~> 2.0) ruby depends on
      railties (>= 3.2.1) ruby

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

person user984621    schedule 01.02.2012    source источник
comment
вы сделали bundle install перед запуском приложения?   -  person uday    schedule 01.02.2012
comment
конечно, и когда я это сделал, я получил вывод выше (обновленный пост)   -  person user984621    schedule 01.02.2012
comment
попробуй удалить файл Gemlock и попробуй   -  person uday    schedule 01.02.2012
comment
@Dave та же ошибка .. попробовал перезапустить сервер   -  person user984621    schedule 01.02.2012
comment
Не удаляйте Gemfile.lock, если у вас нет пессимистичных ~› ограничений версий для всего, иначе вы, вероятно, получите серьезные обновления, которые сломают ваше приложение.   -  person Edward Anderson    schedule 07.12.2013


Ответы (2)


Решение:

gem 'rails', '3.2.1'
gem "sass-rails", "~> 3.2.4"
gem "coffee-rails", "~> 3.2.2"

А потом

bundle update
person user984621    schedule 01.02.2012
comment
У меня была аналогичная проблема, и обновление пакета было решением. Проголосовал. Ваше здоровье. - person John Lockwood; 29.07.2012
comment
Я попробовал это, и это сработало локально, но как только я нажимаю на героку, я получаю Извините, но что-то пошло не так. Посмотреть. Любое понимание того, как решить эту проблему? github.com/aharris/The-Childrens-Journey/commit/ - person busyPixels; 16.01.2013
comment
Можете ли вы объяснить, что произошло и что вы сделали, чтобы преодолеть эту проблему?? - person shajin; 18.04.2013

Ответ находится в выводе Бандлера. В вашем проекте используется Rails 3.1.2, для которого требуется railties 3.1.2. Версия twitter-bootstrap-rails, которую вы пытаетесь установить, по-видимому, зависит от railties >= 3.2.1, которого у вас нет.

У вас есть три варианта, судя по всему:

  1. Взгляните на репозиторий twitter-bootstrap-rails и обратите внимание на тот факт, что похоже, что они пытаются понизить зависимости до >= 3.1. Дождитесь выхода новой версии или используйте их основную ветку.
  2. Обновите свой проект, чтобы использовать Rails 3.2
  3. Используйте старую версию twitter-bootstrap-rails, которая все еще работает с Rails 3.1.
person BaronVonBraun    schedule 01.02.2012