2012-05-13 11 views
15

Po prostu skonfigurowałem mac do programowania i użyłem tego dokładnego gemfile wcześniej i działało dobrze. Nie jestem pewien, co robię źle.błąd w twoim Gemfile, a Bundler nie może kontynuować

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. 

To 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

dziękuję Jestem nowy w tej – SilverNightaFall

+0

jakiej wersji ruby ​​używasz? – caulfield

Odpowiedz

23

Biegniesz Ruby 1.8 i składnia attribute: wymaga rubin 1.9. Trzeba będzie zmienić

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

do

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

Albo zainstalować Ruby 1.9 (być może przy użyciu RVM lub rbenv) i uruchom ponownie bundle install. Byłaby to znacznie lepsza opcja, jeśli jest to nowy projekt.

+0

Dziękuję Zastanawiam się, dlaczego – SilverNightaFall

+8

Upewnij się, że plik 'bundle' nie ma rubinu systemowego (który jest 1.8) w shebangu. Wykonaj 'cat $ (który pakiet)' do sprawdzenia. Zdarzyło mi się to, gdy zainstalowałem bundler za pomocą ruby ​​systemowej, a następnie zainstalowałem ją za pomocą RVM w Rubim 1.9. – Zubin

+0

Miałem ten sam problem co Zubin, na tym pudełku ktoś zainstalował wiązkę kilka razy w różnych gemsetach, w jakiś sposób korzystając z rubinu systemowego. Musiałem odinstalować go z gemsetu, którego używałem, zmienić globalny zestaw kamieni i odinstalować go ponownie, a następnie po uruchomieniu "bundler" otrzymasz wiadomość "Bundler nie jest zainstalowany", ponownie przełączyć się na właściwy gemset i zainstalować pakiet klejnotów . mam nadzieję, że jest to pomocne dla kogoś w przyszłości. – XP84

14

Ten sam błąd wystąpił po aktualizacji środowiska Ruby/Rails.

gem update bundler naprawiono.

+0

Co dziwne, rozwiązało to dla mnie. –

+0

Pracowałem dla mnie !! –

1

Po prostu miałem podobny problem podczas korzystania z rvm. Oto, co zadziałało:

Sprawdź, jaka wersja szyn używasz z rvm (w terminalu): ruby ​​-v (w moim przypadku otworzył nowy terminal z wersją ustawioną na ruby ​​1.8.7, twoje może nie być)

Przełącz na poprawną wersję ruby ​​(W moim przypadku powinien to być rubin 2.1.1, Twój może nie być): rvm 2.1.1 (to ustawia wersję ruby ​​na 2.1.1, zamień na twój projekt jest rubin xxx)

Spróbuj sprawdzić ponownie uruchomiony pakiet: wiązka check

Yo Powinieneś dostać: Zależności Gemfile'a są spełnione

0

Powyższe odpowiedzi mi nie pasowały, ale komentowanie klejnotów capistrano w Gemfile miało miejsce.

0

Jeśli korzystasz z RVM, sprawdź, którego gemsetu używasz: rvm current.

Jeśli na przykład jest napisane: system, konieczne może być wybranie poprawnego gemsetu (tak zrobiłem). Jeśli nie pamiętasz, jak się nazywa, użyj rvm list gemsets, a następnie wybierz poprawny gemset za pomocą rvm use [correct gemset].

Powiązane problemy