2012-05-13 16 views
15

Acabo de configurar mi Mac para el desarrollo y usé este archivo gem exacto anteriormente y funcionó bien. No estoy seguro de lo que estoy haciendo mal.error en su Gemfile, y Bundler no puede continuar

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. 

Este es el 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 
+0

gracias Soy nuevo en este – SilverNightaFall

+0

¿qué versión de ruby ​​usas? – caulfield

Respuesta

23

Usted está ejecutando Rubí 1.8 y la sintaxis attribute: requiere Ruby 1.9. Tendrá que cambiar

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

a

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

o instalar Ruby 1.9 (tal vez usando RVM o rbenv) y ejecutar bundle install nuevo. Esta sería una opción mucho mejor si se trata de un proyecto nuevo.

+0

Gracias, me preguntaba por qué – SilverNightaFall

+8

Asegúrese de que el ejecutable 'bundle' no tenga el sistema ruby ​​(que es 1.8) en el shebang. Haz 'cat $ (which bundle)' para verificar. Esto me sucedió cuando instalé el paquete utilizando el rubí del sistema, luego lo instalé a través de RVM en ruby ​​1.9. – Zubin

+0

Tuve el mismo problema que Zubin, en esta caja alguien había instalado el paquete varias veces en diferentes gemas de algún modo mientras usaba el sistema ruby. Tuve que desinstalarlo del gemset que estaba usando, cambiar al gemset global y desinstalarlo de nuevo, luego de ejecutar "bundler" aparece el mensaje 'bundler is not installed', cambiar al gemset derecho nuevamente, y gem alistar el bundler . Espero que esto sea útil para alguien en el futuro. – XP84

14

Recibí el mismo error después de actualizar mi entorno de Ruby/Rails.

gem update bundler lo arregló.

+0

Curiosamente, esto lo resolvió para mí. –

+0

¡Trabajó para mí! –

1

Acabo de tener un problema similar al usar rvm. Esto es lo que funcionó para mí:

Compruebe para ver qué versión de rieles está utilizando con rvm (en terminal): ruby ​​-v (en mi caso, se abrió una nueva terminal con la versión establecida en ruby ​​1.8.7, la suya puede no ser)

Cambiar a la versión de ruby ​​correcta (en mi caso debería ser ruby ​​2.1.1, la tuya puede no ser): rvm 2.1.1 (esto establece la versión de rubí a 2.1.1, reemplace con xxx rubí de su proyecto)

Trate de verificación volver a ejecutar paquete: cheque paquete

Yo deberías obtener: Las dependencias del Gemfile están satisfechas

0

Las respuestas antes mencionadas no me funcionaron, pero comentaron las gemas de capistrano en el archivo Gemfile.

0

Si está utilizando RVM, compruebe qué gemset está utilizando: rvm current.

Si dice, por ejemplo, system, puede que necesite seleccionar el gemset correcto (lo hice). Use rvm list gemsets si no puede recordar cómo se llama, luego seleccione el gemset correcto usando rvm use [correct gemset].

Cuestiones relacionadas