No se puede activar Rails 3.0.1 debido a un conflicto de versión del paquete

entonces corro:

$ gem install rails --version 3.0.1

Successfully installed rails-3.0.1
1 gem installed
Installing ri documentation for rails-3.0.1...
Installing RDoc documentation for rails-3.0.1...

entonces me sale el error:

$ rails -v
/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1637:in `raise_if_conflicts': Unable to activate rails-3.0.1, because bundler-1.1.4 conflicts with bundler (~> 1.0.0) (Gem::LoadError)
from /usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:746:in `activate'
from /usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1232:in `gem'
from /usr/local/rvm/gems/ruby-1.9.3-p125@rails3tutorial/bin/rails:18:in `<main>'
from /usr/local/rvm/gems/ruby-1.9.3-p125@rails3tutorial/bin/ruby_noexec_wrapper:14:in `eval'
from /usr/local/rvm/gems/ruby-1.9.3-p125@rails3tutorial/bin/ruby_noexec_wrapper:14:in `<main>'

preguntado el 12 de junio de 12 a las 20:06

4 Respuestas

Así que Rails 3.0.1 requiere Bundler v1.0.0 - v1.0.22 (en realidad cualquiera 1.0.x versión hasta, pero sin incluir, 1.1.0), pero tiene una versión más reciente de Bundler que se carga cuando se inicia Rails. Puede desinstalar la(s) versión(es) más reciente(s) de Bundler (aunque esta es una mala forma de solucionar el problema) o, dado que está utilizando RVM, simplemente cree un conjunto de gemas para Rails 3.0.1.

$ rvm gemset create rails_3.0.1
$ rvm gemset use rails_3.0.1
$ gem install rails -v 3.0.1
$ rails -v
3.0.1

Nota: esto requiere que Bundler no esté en su global gemset para la versión de Ruby que está tratando de usar. Si el global gemset contiene una versión de Bundler igual o superior a 1.1.0, obtendrá el mismo error que antes.

Actualizar: Una pequeña explicación sobre ~> y el control de versiones de RubyGems podría ser útil. los sección sobre restricción de versión pesimista en los documentos de RubyGems hace un trabajo fantástico cubriendo todo.

Respondido el 25 de Septiembre de 12 a las 15:09

Es posible que deba actualizar al paquete 1.1.4.

gem update bundler

debería hacer el truco.

Respondido el 12 de junio de 12 a las 20:06

Tengo el mismo error que el anterior. Ejecuté esta solución, pero el paquete está "actualizado" y cuando pruebo Rails -v nuevamente, recibo exactamente el mismo resultado que antes. ¡Ayuda! - stophinal

El problema aquí no es que el paquete esté desactualizado, sino demasiado actualizado. ~> 1.0.0 significa cualquier versión de 1.0.0 hasta, pero sin incluir, 1.1.0. - colin r

Colin tiene razón, mira su respuesta, la mía no debe aceptarse para que pueda eliminarla. - ipd

Esto posiblemente se deba a que Ruby v1.9.2/3 usa el paquete v1.1.4 mientras que Rails v3.0.1 requiere el paquete v~1.0.0. Por lo tanto, simplemente actualizando la versión de Rails a v3.2.6, el conflicto se resuelve. Este conflicto se puede resolver fácilmente haciendo coincidir la versión de Ruby y Rails.

Respondido el 25 de Septiembre de 12 a las 04:09

Tuve el mismo problema con mysql. Desinstalé mysql gem e instalé la última versión de mysql gem. ¿Está bien RVM?

Respondido el 12 de junio de 12 a las 20:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.