2013-06-26 3 views
33

Я пытаюсь перейти на Rails 4.0.0, и я изменил версии gem sass-rails и coffee-rails. Мне нужно, чтобы разрешить этот конфликт между гем rails и coffee-rails прежде, чем я могу перейти на Rails 4.Bundler не смог найти совместимые версии для gem «railties» для Rails 4.0.0

Когда я побежал bundle update это выход я получил:

$ bundle update 
Updating git://github.com/pilu/web-app-theme.git 
Fetching source index from https://rubygems.org/ 
Resolving dependencies.............. 
Bundler could not find compatible versions for gem "railties": 
    In Gemfile: 
    rails (= 4.0.0) ruby depends on 
     railties (= 4.0.0) ruby 

    coffee-rails (= 4.0.0) ruby depends on 
     railties (4.0.0.rc2) 

Мои Gemfile:

source 'https://rubygems.org' 

gem 'rails', '4.0.0' 

gem 'cancan' 
gem 'client_side_validations' 
gem 'devise', '~> 1.5.3' 
gem 'dynamic_form' 
gem 'execjs' 
gem 'haml' 
gem 'httparty' 
gem 'jquery-rails' 
gem 'mysql2' 
gem 'paperclip', '~> 2.4' 
gem 'prawn' 
gem 'rails3-jquery-autocomplete' 
gem 'rake', '0.9.2' 
gem 'remotipart', '~> 1.0' 
gem 'simple_datatables' 
gem 'therubyracer' 
gem 'validates_timeliness', '~> 3.0.2' 
gem 'will_paginate', '~> 3.0' 

gem 'turbolinks' 
gem 'jquery-turbolinks' 

gem 'noty-rails' 

gem 'font-awesome-rails' 

gem 'socket.io-rails' 

gem 'attr_encrypted' 

gem 'bullet', :group => 'development' 

#temp for demo.managetherapy.com 
#gem 'faker' 

group :test do 
    gem 'capybara' 
    gem 'cucumber-rails', :require => false 
    gem 'database_cleaner' 
    gem 'factory_girl_rails' 
# gem 'faker' 
    gem 'guard-rspec' 
    gem 'selenium-webdriver', '2.7.0' 
    gem 'webrat' 
end 

group :development, :test do 
    gem 'faker' 
    gem 'haml-rails' 
    gem 'hpricot' 
    gem 'rspec-rails' 
    gem 'ruby_parser' 
    #gem 'web-app-theme', '~> 0.8.0' 
    gem 'web-app-theme', :git =>'git://github.com/pilu/web-app-theme.git' 
end 

gem 'sass-rails', '4.0.0' 
gem 'compass-rails', '1.0.3' 
gem 'coffee-rails', '4.0.0' 
gem 'uglifier', '>= 2.1.1' 
gem 'bootstrap-sass-rails' 

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

# Deploy with Capistrano 
gem 'capistrano' 
gem 'rvm-capistrano' 

gem 'passenger' 

ответ

7

Пробег gem update rails сначала bundle update

+0

Должно ли обновление пакета автоматически обновлять драгоценный камень рельсов, который находится в Gemfile? Нужно ли вручную запускать рельсы обновления gem? –

4

У вас есть g ems, которые не поддерживаются Rails 4. Комментируйте все драгоценные камни, кроме Rails 4, и раскомментируйте их по одному после запуска установки пакета, чтобы найти виновников. Возможно, вам придется отменить некоторые из ваших блокировок версии.

8

Вы устаревшую версию Завещания, использовать Rails 4 совместимый

gem 'devise', '~> 3.0.0.rc' 

изменить Также coffee-rails к

gem 'coffee-rails', '~> 4.0.0' 

и попытаться сделать

bundle update coffee-rails 
62

Также bundle update только позволяет обновлять один камень за раз, что сложно, если вы обновляете до Rails 4 и множество драгоценных камней должны быть обновлены одновременно.

Я решил это, удалив Gemfile.lock и выполнив bundle install.

Это, конечно, предполагает, что у вас нет противоречивой явной версии gem в вашем Gemfile для начала. Поэтому, если это не удается, удалите номера версий из Gemfile.

+1

Это работает для меня. Удалить 'Gemfile.lock' и все так же гладко, как черт: D. –

+4

Это сработало для меня: я должен добавить, что также, если какой-то конкретный камень вызывает проблемы, измените ~> for> = (например, gem 'coffee-rails', '~> 4.0.0' для gem 'coffee -rails ','> = 4.0.0 ') и следуйте инструкциям nathanvda –

+5

'~>' будет обновлять, но только patchlevel (так что в соответствии с semver: только неразрывные изменения). Изменение на '> =' будет обновляться до последней версии (учитывая все другие зависимости/ограничения), и на самом деле просто указывается минимальная версия, которая необходима (с вашего конца).Так что да: это, вероятно, наиболее определенно необходимо. – nathanvda

20

Просто удалите драгоценные версии (кофе-рельсы и Сасс-реек) из Gemfile и запустить пакет обновления

1
  1. Удалить Gemfile.lock файл
  2. сослаться here для основного Gemfile изменения
  3. запустить bundle install

Все будет хорошо работать. :)