ruby on rails - "Gemspec no válido en" y "Requisito no formado" cada vez que creo un nuevo proyecto en rieles(problema del pepino)
ruby-on-rails cucumber (6)
Acabo de fijar pepino a 1.0.2, ayuda por el momento ...
gem ''cucumber'', "1.0.2"
gem ''cucumber-rails'', "1.0.2"
Cada vez que creo un nuevo proyecto obtengo los siguientes errores:
Adams-MacBook-Pro:for_testing adam$ rails new outsidein Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"] Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"] Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]
He actualizado el pepino y los carriles de pepino, pero recibo los errores por todas partes. ¿Qué debo hacer?
Debe actualizar a la última versión de Rubygems, pero también puede ser necesario eliminar las gemas instaladas en la versión anterior de Rubygems.
Si estás usando rvm con gemsets, esto es bastante fácil:
$ rvm gemset empty
Ahora puedes actualizar Rubygems:
$ gem update --system
Si ha perdido el bundler porque se instaló en su gemset, instálelo en el gemset global para que esté allí para todos sus gemsets, para siempre:
$ rvm @global gem install bundler
Ahora puedes volver a instalar todas tus gemas en un conjunto de gemas limpio y agradable en los Rubygems nuevos y brillantes:
$ bundle
¿Feliz ahora?
Este problema se describe mejor en el blog RubyGems:
http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak.html
TL; DR: gem update --system
y gem update bundler
RubyGems 1.8.10 resuelve esto.
Los rieles de pepino 0.3.2 requerían un pepino> 0.8.0, pero cuando Bundler nos cambió de 0.10.2 a 1.04, se rompió. Requieren un pepino más viejo como 0.10.2 y funcionará
gema ''pepinos-rieles'', ''0.3.2'' gema ''pepino'', ''0.10.2''
Mira lo que me ayudó:
$ gem update --system
...
$ bundle update
Notas:
- Yo uso Ruby 1.8.7-352.
- El pepino es visible para el Bundler a través de Gemfile, así que puedo administrar su versión desde allí.
Creo que la clave es actualizar rubygems.
También tuve muchos errores de este tipo. Acabo de editar manualmente los archivos .gemspec y cambié #<Syck::DefaultKey-blah-blah
a =
. Para vim, el comando buscar y reemplazar es %s/#<Syck::DefaultKey:0x.*>/=/
.