0
votes

while running Bundle install following error is coming

Bundler could not find compatible versions for gem "railties":

In Gemfile: devise (~> 3.2.4) was resolved to 3.2.4, which depends on railties (< 5, >= 3.2.6)

factory_girl_rails (~> 4.4.0) was resolved to 4.4.1, which depends on
  railties (>= 3.0.0)

jquery-payment-rails was resolved to 0.0.1, which depends on
  railties (~> 4.0.0)

jquery-rails (~> 3.0.0) was resolved to 3.0.4, which depends on
  railties (< 5.0, >= 3.0)

rails (~> 4.0.0) was resolved to 4.0.0, which depends on
  railties (= 4.0.0)

rspec-rails (~> 3.4.0) was resolved to 3.4.2, which depends on
  railties (< 4.3, >= 3.0)

sass-rails (~> 3.2.3) was resolved to 3.2.3, which depends on
  railties (~> 3.2.0.beta)

Gemfile :

ruby '2.2.2'
## Sinatra App Gems
gem 'sinatra',      '~> 1.4.4'
gem 'sass',         '~> 3.4.13'
gem 'sinatra-assetpack', '~> 0.3.1', :require => 'sinatra/assetpack'
gem 'sinatra-env',  '~> 0.0.2'

## Rails App Gems
gem 'rails',        '~> 4.0.0'
gem 'foreman',      '~> 0.78.0'
gem 'puma',         '~> 2.14.0'
gem 'simple_form',  '~> 2.1.3'
gem 'simple_enum',  '~> 1.6.0', :require => 'simple_enum/mongoid'
gem 'mongoid',      '~> 5.0.0'
gem 'devise',       '~> 3.4.1'
gem 'possessive',   '~> 1.0.1'
gem 'american_date', '~> 1.1.0'
gem 'sht_rails',    '~> 0.2.2'
gem 'version',      '~> 1.0.0'
gem 'rdiscount',    '~> 2.1.7'
gem 'ssl_enforcer', '~> 0.2.3'
#

gem 'sidekiq',        '~> 3.5.0'
gem 'slim',           '~> 3.0.2'


group :development do
  gem 'capistrano',             '~> 3.4.0'
  gem 'capistrano-rvm',         '~> 0.1.2'
  gem 'capistrano-rails',       '~> 1.1.3'
  gem 'capistrano-bundler',     '~> 1.1.4'
  gem 'capistrano-foreman',     github: 'koenpunt/capistrano-foreman'
  gem 'spring'
  gem 'spring-commands-rspec',  '~> 1.0.4'
end

group :assets do
  gem 'pusher_rails',             '~> 1.0.1'
  gem 'sass-rails',               '~> 3.2.3'
  gem 'coffee-rails',             '~> 3.2.1'
  gem 'jquery-rails',             '~> 3.0.0'
  gem 'bootstrap-sass',           '~> 2.3.0.0'
  gem 'font-awesome-sass-rails',  '~> 3.0.2.2'
  gem 'uglifier',                 '>= 1.0.3'
  gem 'modernizr-rails',          '~> 2.7.1'
  gem 'jquery-payment-rails',     '~> 0.0.1'
  gem 'jquery-validation-rails',  '~> 1.13.1'
end

group :development, :test do
  gem 'test-unit',            '~> 3.0'
  gem 'rspec-rails',          '~> 3.3.3'
  gem 'factory_girl_rails',   '~> 4.5.0'
  gem 'mongoid-rspec',        '~> 1.13.0'
  gem 'guard-rspec',          '~> 4.6.4'
  gem 'simplecov',            '~> 0.10.0', require: false
end

group :test do
  gem 'database_cleaner',     '~> 1.5.1'
  gem 'faker',                '~> 1.5.0'
end

I have removed gemfile.lock file also, still it is giving issue

1

1 Answers

2
votes

Ok, here's a little analysis on the situation on railties version requirements given the error given to you:

1) railties (>= 3.0.0)
2) railties (~> 4.0.0) => (< 4.1, >= 4.0.0)
3) railties (< 5.0, >= 3.0)
4) railties (= 4.0.0)
5) railties (< 4.3, >= 3.0)
6) railties (~> 3.2.0.beta) => (< 3.2.1, >= 3.2.0.beta)

All version dependencies here can coexist except 6) which comes from sass-rails gem. Try to update to latest version sass-rails and you'll be fine (5.0.4 is the latest release) since it uses railties (>= 4.0.0, < 5.0). Also, all sass-rails versions after 4.0.0 will work too since that's when the railties dependency changed - see this.

Update

I've checked your Gemfile and the minimum changes that you could do in order to get the desired mongo version is the following (changes are commented):

ruby '2.2.2'
## Sinatra App Gems
gem 'sinatra',      '~> 1.4.4'
gem 'sass',         '~> 3.4.13'
gem 'sinatra-assetpack', '~> 0.3.1', :require => 'sinatra/assetpack'
gem 'sinatra-env',  '~> 0.0.2'

## Rails App Gems
gem 'rails',        '~> 4.0.0'
gem 'foreman',      '~> 0.78.0'
gem 'puma',         '~> 2.14.0'
gem 'simple_form',  '~> 3.0.0' # CHANGED
gem 'simple_enum',  '~> 1.6.0', :require => 'simple_enum/mongoid'
gem 'mongoid',      '~> 5.0.0'
gem 'devise',       '~> 3.4.1'
gem 'possessive',   '~> 1.0.1'
gem 'american_date', '~> 1.1.0'
gem 'sht_rails',    '~> 0.2.2'
gem 'version',      '~> 1.0.0'
gem 'rdiscount',    '~> 2.1.7'
gem 'ssl_enforcer', '~> 0.2.3'

gem 'sidekiq',        '~> 3.5.0'
gem 'slim',           '~> 3.0.2'

group :development do
  gem 'capistrano',             '~> 3.4.0'
  gem 'capistrano-rvm',         '~> 0.1.2'
  gem 'capistrano-rails',       '~> 1.1.3'
  gem 'capistrano-bundler',     '~> 1.1.4'
  gem 'capistrano-foreman',     github: 'koenpunt/capistrano-foreman'
  gem 'spring'
  gem 'spring-commands-rspec',  '~> 1.0.4'
end

group :assets do
  gem 'pusher_rails',             '~> 1.0.1'
  gem 'sass-rails',               '~> 4.0.1' # CHANGED
  gem 'coffee-rails',             '~> 4.0.0' # CHANGED
  gem 'jquery-rails',             '~> 3.0.0'
  gem 'bootstrap-sass',           '~> 2.3.0.0'
  gem 'font-awesome-sass-rails',  '~> 3.0.2.2'
  gem 'uglifier',                 '>= 1.0.3'
  gem 'modernizr-rails',          '~> 2.7.1'
  gem 'jquery-payment-rails',     :git =>  'https://github.com/thoughtbot/jquery-payment-rails.git', :ref => 'd401bf9' # CHANGED
  gem 'jquery-validation-rails',  '~> 1.13.1'
end

group :development, :test do
  gem 'test-unit',            '~> 3.0'
  gem 'rspec-rails',          '~> 3.4.0' # CHANGED
  gem 'factory_girl_rails',   '~> 4.5.0'
  gem 'mongoid-rspec',        '~> 3.0.0' # CHANGED
  gem 'guard-rspec',          '~> 4.6.4'
  gem 'simplecov',            '~> 0.10.0', require: false
end

group :test do
  gem 'database_cleaner',     '~> 1.5.1'
  gem 'faker',                '~> 1.5.0'
end

You should probably run bundle update after this changes, but be careful since this updates ALL gems according to your Gemfile.