Подтвердить что ты не робот

"Invalid gemspec in" и "Illformed requirements", когда я создаю новый проект в рельсах (проблема огурца)

Каждый раз, когда я создаю новый проект, я получаю следующие ошибки:

Adams-MacBook-Pro:for_testing adam$ rails new outsidein
Invalid gemspec in [/Users/adam/.rvm/gems/[email protected]/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]

Invalid gemspec in [/Users/adam/.rvm/gems/[email protected]/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]
Invalid gemspec in [/Users/adam/.rvm/gems/[email protected]/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]

Я обновил огурец и огуречные рельсы, но я получаю ошибки повсюду. Что мне делать?

4b9b3361

Ответ 1

Огурцы-рельсы 0.3.2 требуемые огурцы > 0.8.0, но когда пучок изменил нас с 0.10.2 до 1.04, он сломался. Требовать более старый огурец, такой как 0.10.2, и он будет работать

gem 'огуречные рельсы', '0.3.2' драгоценный камень 'огурец', '0.10.2'

Ответ 2

Вам необходимо обновить до последней версии Rubygems, но вам также может потребоваться удалить любые камни, установленные в старой версии Rubygems.

Если вы используете rvm с gemset, это довольно просто:

$ rvm gemset empty

Теперь вы можете обновить Rubygems:

$ gem update --system

Если вы потеряли связки, потому что он был установлен в вашем gemset, установите его в глобальном gemset, чтобы он был доступен для всех ваших гемзет, навсегда:

$ rvm @global gem install bundler

Теперь вы можете переустановить все свои драгоценные камни в красивый чистый гемсет на блестящих новых Rubygems:

$ bundle

Счастлив сейчас?

Ответ 4

Посмотрите, что помогло мне:

$ gem update --system
...
$ bundle update

Примечания:

  • Я использую Ruby 1.8.7-352.
  • Огурцы видны Bundler через Gemfile, поэтому я могу управлять его версией оттуда.

Я думаю, что ключ обновляет rubygems.

Ответ 5

У меня тоже было много подобных ошибок. Я только что отредактировал файлы .gemspec и изменил #<Syck::DefaultKey-blah-blah на =. Для vim команда поиска и замены %s/#<Syck::DefaultKey:0x.*>/=/.

Ответ 6

Я только что приколол огурец до 1.0.2, помогает на данный момент...

  gem 'cucumber', "1.0.2"
  gem 'cucumber-rails', "1.0.2"