2012-05-13 27 views
15

Tôi chỉ cần thiết lập mac của tôi để phát triển và sử dụng gemfile chính xác này trước đây và nó hoạt động tốt. Tôi không chắc mình đang làm gì sai.lỗi trong Gemfile của bạn, và Bundler không thể tiếp tục

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. 

Đây là 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

cảm ơn bạn Tôi mới sử dụng phiên bản này – SilverNightaFall

+0

bạn sử dụng phiên bản ruby ​​nào? – caulfield

Trả lời

23

Bạn đang chạy Ruby 1,8 và cú pháp attribute: đòi hỏi ruby ​​1.9. Bạn sẽ cần phải thay đổi

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

để

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

Hoặc cài đặt của Ruby 1.9 (có thể sử dụng RVM hoặc rbenv) và chạy bundle install một lần nữa. Đây sẽ là một lựa chọn bettter nhiều nếu nó là một dự án mới.

+0

Cảm ơn bạn Tôi đã tự hỏi tại sao – SilverNightaFall

+8

Hãy chắc chắn rằng thực thi 'bó' không có hệ thống ruby ​​(tức là 1,8) trong shebang. Làm 'cat $ (bó nào)' để kiểm tra. Điều này xảy ra với tôi khi tôi cài đặt gói bằng ruby ​​hệ thống, sau đó cài đặt nó qua RVM trong ruby ​​1.9. – Zubin

+0

Tôi đã có cùng một vấn đề như Zubin, trên hộp này một người nào đó đã cài đặt bundler nhiều lần trong đá quý khác nhau bằng cách nào đó bằng cách sử dụng hệ thống ruby. Tôi đã phải gỡ cài đặt nó từ gemset i đang sử dụng, chuyển sang gemset toàn cầu và gỡ bỏ nó một lần nữa, sau đó chạy "bundler" cho bạn thông báo 'bundler chưa được cài đặt', chuyển sang gemset đúng, và gem install bundler . hy vọng điều này sẽ hữu ích cho ai đó trong tương lai. – XP84

14

Tôi gặp lỗi tương tự sau khi cập nhật môi trường Ruby/Rails của mình.

gem update bundler sửa nó.

+0

Lạ lùng đủ, điều này giải quyết nó cho tôi. –

+0

Làm việc cho tôi !! –

1

Tôi vừa gặp sự cố tương tự khi sử dụng rvm. Đây là những gì làm việc cho tôi:

Kiểm tra xem phiên bản đường ray bạn đang sử dụng với rvm (trong terminal): ruby ​​-v (trong trường hợp của tôi đã mở một thiết bị đầu cuối mới có phiên bản được đặt thành ruby ​​1.8.7, của bạn có thể không được)

Chuyển sang phiên bản Ruby chính xác (Trong trường hợp của tôi, nó phải là ruby ​​2.1.1, có thể không): rvm 2.1.1 (cài đặt phiên bản Ruby là 2.1.1, thay thế bằng xxx ruby ​​của dự án của bạn)

Hãy thử lại chạy bó séc: bó séc

Yo u nên nhận được: Các phụ thuộc của Gemfile hài lòng

0

Các câu trả lời nói trên không phù hợp với tôi, nhưng nhận xét về đá quý capistrano trong Gemfile đã làm.

0

Nếu bạn đang sử dụng RVM, hãy kiểm tra xem bạn đang sử dụng gemset nào: rvm current.

Nếu có, ví dụ: system, bạn có thể cần phải chọn đúng gemset (tôi đã làm). Sử dụng rvm list gemsets nếu bạn không thể nhớ nó được gọi là gì, sau đó chọn gemset đúng bằng cách sử dụng rvm use [correct gemset].

Các vấn đề liên quan