18

私は開発用にMacをセットアップし、以前にこの正確なgemfileを使用しましたが、正常に機能しました。何が間違っているのかわかりません。

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.

これは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
4

5 に答える 5

25

Ruby 1.8を実行していて、構文にattribute:はruby1.9が必要です。変更する必要があります

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

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

または、Ruby 1.9をインストールして(おそらくRVMまたはrbenvを使用して)、再実行bundle installします。これは、新しいプロジェクトの場合、はるかに優れたオプションになります。

于 2012-05-13T19:10:05.137 に答える
15

Ruby / Rails環境を更新した後、同じエラーが発生しました。

gem update bundler修正しました。

于 2013-05-29T17:32:23.400 に答える
1

rvmの使用中に同様の問題が発生しました。これが私のために働いたものです:

rvmで使用しているレールのバージョンを確認してください(ターミナル内):ruby -v(私の場合、バージョンがruby 1.8.7に設定された新しいターミナルを開きましたが、そうではない可能性があります)

正しいrubyバージョンに切り替えます(私の場合はruby 2.1.1である必要がありますが、そうではない場合があります):rvm 2.1.1(これにより、rubyバージョンが2.1.1に設定され、プロジェクトのruby xxxに置き換えられます)

バンドルチェックを再実行してみてください:バンドルチェック

次のようになります。Gemfileの依存関係が満たされている

于 2014-08-17T18:47:37.673 に答える
0

上記の答えは私にはうまくいきませんでしたが、Gemfileでcapistranogemをコメントアウトすることはうまくいきました。

于 2015-02-19T15:58:42.383 に答える
0

RVMを使用している場合は、使用しているgemsetを確認してくださいrvm current

たとえば、と表示されている場合はsystem、正しいジェムセットを選択する必要があります(私はそうしました)。rvm list gemsets何と呼ばれているのか思い出せない場合に使用し、を使用して正しいジェムセットを選択しますrvm use [correct gemset]

于 2015-07-20T21:32:12.420 に答える