error in your Gemfile, and Bundler cannot continue

匿名 (未验证) 提交于 2019-12-03 10:24:21

问题:

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 

回答1:

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.



回答2:

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

gem update bundler fixed it.



回答3:

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



回答4:

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



回答5:

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].



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!