SilverNightaFall
SilverNightaFall

Reputation: 4190

error in your Gemfile, and Bundler cannot continue

I just setup my mac for development and used this exact gemfile previously and it worked fine. I am not sure what I am doing wrong.

Victorias-MacBook-Pro:sample_app Victoria$  bundle --without production
/Users/Victoria/Sites/sample_app/Gemfile:38:in `evaluate': compile error
/Users/Victoria/Sites/sample_app/Gemfile:28: syntax error, unexpected ':', expecting kEND
  gem 'cucumber-rails', '1.2.1', require: false
                                         ^ (SyntaxError)
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/definition.rb:18:in `build'
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler.rb:135:in `definition'
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/cli.rb:220:in `install'
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/task.rb:22:in `send'
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/task.rb:22:in `run'
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor.rb:263:in `dispatch'
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/base.rb:386:in `start'
       /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/bin/bundle:13
       /usr/bin/bundle:19:in `load'
       /usr/bin/bundle:19
There was an error in your Gemfile, and Bundler cannot continue.

This is the gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.3'
gem 'jquery-rails', '2.0.0'
gem 'bootstrap-sass', '2.0.0'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.5'

group :development, :test do
  gem 'mysql2'
  gem 'rspec-rails', '2.9.0'
  gem 'guard-rspec', '0.5.5'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.4'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

group :test do
  gem 'capybara', '1.1.2'
  gem 'factory_girl_rails', '1.4.0'
  gem 'cucumber-rails', '1.2.1', require: false
  gem 'database_cleaner', '0.7.0'
  gem 'guard-spork', '0.3.2'  
  gem 'spork', '0.9.0'
  # gem 'rb-fsevent', '0.4.3.1', require: false
  # gem 'growl', '1.0.3'
end

group :production do
  gem 'pg', '0.12.2'
end

Upvotes: 18

Views: 40719

Answers (6)

kaustubhd9
kaustubhd9

Reputation: 139

I had an error similar to this but a bit more specific,

An error occurred while installing safe_yaml (1.0.5), and Bundler cannot continue

In this case, we have to install 'safe_yaml' as

gem install safe_yaml

The answer by @weiphi (https://stackoverflow.com/a/16820392/7668403) could help in such case if need to upgrade.

Upvotes: 0

Choylton B. Higginbottom
Choylton B. Higginbottom

Reputation: 2304

If you are using RVM, check which gemset you are using: rvm current.

If it says, for example, system, you may need to select the correct gemset (I did). Use rvm list gemsets if you can't remember what it's called, then select the correct gemset using rvm use [correct gemset].

Upvotes: 0

jman
jman

Reputation: 402

The above-mentioned answers did not work for me, but commenting out capistrano gems in the Gemfile did.

Upvotes: 0

socialmatchbox
socialmatchbox

Reputation: 83

I just had a similar issue while using rvm. Here is what worked for me:

Check to see what version of rails you are using with rvm (in terminal): ruby -v (in my case opened a new terminal with version set to ruby 1.8.7, yours may not be)

Switch to the correct ruby version (In my case it should be ruby 2.1.1, yours may not be): rvm 2.1.1 (this sets the ruby version to 2.1.1, replace with your project's ruby x.x.x)

Try re-running bundle check: bundle check

You should get: The Gemfile's dependencies are satisfied

Upvotes: 1

weiphi
weiphi

Reputation: 161

I got the same error after updating up my Ruby/Rails environment.

gem update bundler fixed it.

Upvotes: 15

deviousdodo
deviousdodo

Reputation: 9172

You're running Ruby 1.8 and the syntax attribute: requires ruby 1.9. You will need to change

gem 'cucumber-rails', '1.2.1', require: false

to

gem 'cucumber-rails', '1.2.1', :require => false

Or install Ruby 1.9 (maybe using RVM or rbenv) and run bundle install again. This would be a much bettter option if it's a new project.

Upvotes: 25

Related Questions