2012-03-24 12 views
11

Completa una persona nueva para Ruby and Rails aquí ... He probado algunos tutoriales en el pasado, pero eso es todo. Intento seguir el libro 'Ruby on Rails 3 Tutorial' y he encontrado un obstáculo al que no he podido encontrar ayuda después de buscar aquí y en Google ...Bundler no pudo encontrar versiones compatibles para "bundler" de gemas:

No he hecho nada nada aún; solamente:

rails new first_app 

luego cambió de sqlite3 Gemfile a

gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3' 

cuando corro 'bundle install' me sale el siguiente:

Fetching gem metadata from http://rubygems.org/......... 
Bundler could not find compatible versions for gem "bundler": 
    In Gemfile: 
    rails (= 3.0.1) ruby depends on 
     bundler (~> 1.0.0) ruby 

    Current Bundler version: 
    bundler (1.1.3) 

This Gemfile requires a different version of Bundler. 
Perhaps you need to update Bundler by running `gem install bundler`? 

He intentado desinstalar el bundler través

gem uninstall bundler -v 1.1.3 

y luego instalar b v1.0.0 undler través

gem install bundler -v 1.0.0 

pero parece que me bundler 1.1.2 ..

me siento como que he dado en un callejón sin salida y no puedo encontrar más información sobre cómo resuelve este problema

Cualquier ayuda sería muy apreciada y recompensada con grandes cantidades de tocino ...

ACTUALIZACIÓN ACTUALIZACIÓN ACTUALIZACIÓN

no pude conseguir bundler v 1.1.2 para desinstalar. Finalmente pude desinstalar todas las gemas haciendo:

sudo gem list | cut -d" " -f1 > gem_list.txt 
cat gem_list.txt | xargs sudo gem uninstall -aIx 
cat gem_list.txt | xargs sudo gem install 

y volver a instalar ... Esto me permitió luego hacer el 'bundle install' y ponerse en marcha .. Gracias a todos por su ayuda!

+0

¿Estás utilizando RVM? –

+2

Cuando haces 'gem list bundler' ¿qué dice? Quizás tengas ambos 1.0.0 y 1.1.2 instalados. –

+0

*** GEMAS LOCALES *** bundler (1.1.3, 1.1.2, 1.0.0) – audioeric

Respuesta

5

Primera verificar sus versiones para asegurarse de que todos están en curso:

$ ruby -v 
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux] 

$ rails -v   
Rails 3.2.2 

$ gem list bundler 
*** LOCAL GEMS *** 
bundler (1.1.3) 

Si necesita actualizar rubí, que pueda descárguelo de ruby-lang.org o use herramientas como ruby-build. Si tiene alguna versión de Ruby 1.9.3, está bien por ahora.

Para actualizar todas sus joyas:

gem update --system 
gem update 

gema gemas podrá instalar en unos pocos lugares diferentes, y estos pueden interferir entre sí. Hay gemas de sistema (generalmente instaladas por root o usando sudo) y sus gemas personales de usuario. Mi forma favorita de manejar estos es con una herramienta simple llamada rb-evn. Una herramienta relacionada es rvm. Cualquiera esta bien.

Para su primer tutorial, puede omitir el uso de números de versión en su Gemfile:

- gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3' 
+ gem 'sqlite3-ruby', :require => 'sqlite3' 

Bündler será ordenar todo de la manera correcta. Eventualmente querrá especificar números de versión si está coordinando con otros desarrolladores o creando sistemas de producción.

No dude en hacer preguntas aquí y las agregaré a esta respuesta.

+0

Ruby está bien, tengo 1.9.3p125. – audioeric

+0

Cuando intento hacer rails -v entiendo que actualmente no está instalado ... ¿Hay alguna forma de desinstalar todo y hacer una nueva instalación de todo esto? – audioeric

+0

Muy bien, desinstalé todas las gemas a través de sudo gem list | cut -d "" -f1> gem_list.txt cat gem_list.txt | xargs sudo gem uninstall -aIx cat gem_list.txt | xargs sudo gem install Y eso me ha permitido hacer la 'instalación de paquete' ... Eso resuelve el problema por ahora ... ¡Gracias! – audioeric

6

Puede utilizar la última versión de Rails 3.0 (3.0.12). Que apoya última bundler, y no se diferencian fundamentalmente de 3.0.1

2

Tal vez había bundler 1.1.2 y 1.1.3 instalado en su máquina (y posiblemente más versiones)

uso

gem list bundler 

para verificar qué versión (es) de bundler has instalado.

A continuación, retire los que no desee con

gem uninstall bundler -v VERSION_NUMBER 
+1

Tenía 3 versiones instaladas, 1.0.0, 1.1.2 y 1.1.3. Puedo desinstalar 1.0.0 y 1.1.3, pero no puedo desinstalar 1.1.2. si hago un paquete de desinstalación de gem, dice que el paquete no está instalado. Pero si hago una lista de gemas, enumera 1.1.2 ... – audioeric

3

es porque piedras preciosas también se instalan en gemset mundial, y se puede desinstalarlo con:

rvm @global do gem uninstall bundler 

pero también se puede utilizar la otra versión de bundler usando:

gem install bundler -v '~>1.0.0' 
bundle _1.0.0_ install 

reemplazar 1.0 .0 con la versión que se instaló (si es el caso)

-1

Bundler es una joya dependiente de los rieles, por lo que solo se puede ver en gemfile.lock en lugar de gemfile.

Para una versión de rieles particular, solo una gama de gemas de bundler es compatible. También recibí este error e intenté desinstalar esa versión de la gema bundler que no necesitaba. También traté de instalarlo con fuerza usando bundle_x.x.x_install, pero cuando las cosas no funcionaron mencioné explícitamente la gema especificando la versión dentro del rango requerido por la versión de rails que estoy usando. Puede ser que no sea el camino correcto, pero así es como las cosas funcionaron para mí.

Cuestiones relacionadas