2009-12-23 20 views
11

Tengo dificultades para actualizar RubyGems de la versión 1.1.1 a la más reciente. He intentado lo siguiente:No se puede actualizar RubyGems

gem update

Resultado:

Updating installed gems
Bulk updating Gem source index for: http://gems.rubyforge.org/
Nothing to update

y

gem install rubygems-update

Resultado:

Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
ERROR: Error installing rubygems-update:
    rubygems-update requires builder (>= 0)

y

gem install rubygems-update update_rubygems

Resultado:

Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
ERROR: Error installing rubygems-update:
    rubygems-update requires builder (>= 0)
ERROR: could not find update_rubygems locally or in a repository

Entonces yo sepa, según lo sugerido por theIV sobre una cuestión similar, si tenía http://gems.rubyforge.org/ en mis fuentes remotas. Aquí está el entorno de las gemas:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.1.1
  - RUBY VERSION: 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
 - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-9
  - GEM PATHS:
    - /Library/Ruby/Gems/1.8
    - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
    - :update_sources => true
    - :verbose => true
    - :benchmark => false
    - :backtrace => false
    - :bulk_threshold => 1000
  - REMOTE SOURCES:
    - http://gems.rubyforge.org

Entonces, ¿alguna idea?

Respuesta

10

No hay necesidad de tomar tales medidas drásticas como la reconstrucción completa de Ruby, la reinstalación Rubygems desde cero o instalar un administrador de versiones para resolver este problema. No es simplemente un ciclo de dependencia introducida por el lanzamiento de azada 2.3.0:

rubygems-actualización 1.3.5 requiere (entre otras cosas) azada-seattlerb
azada-seattlerb requiere azada> = 2.3.0
azada > = 2.3.0 requiere rubygems> = 1.3.1

Escribí the blog post vinculado por zipizap. Para recapitular:

  1. Si ya has probado a actualizar, desinstalar la última actualización rubygems primera: sudo gem uninstall rubygems-update -v 1.3.5
  2. actualización a 1.3.0: sudo gem install rubygems-update -v 1.3.0
  3. sudo update_rubygems
  4. luego actualizar a la última: sudo gem update --system

Con el lanzamiento de Rubygems 1.3.6, parece que este problema puede haber desaparecido. A partir de las notas de la versión:

  • Development deps are no longer added to rubygems-update gem so older versions can update sucessfully.
+1

De hecho, creo que acabo de tener éxito con una actualización (bajo ruby ​​1.8.7) usando 'gem install rubygems-update' (dijo 1.5.0), seguido de' gem update --system' que también me colocó en 1.5. 0. Tuve que seguir con una 'actualización de gema' a su vez para que el bundler vuelva a funcionar. – conny

+0

Finalmente, después de unos días de búsqueda, vuelvo al sitio que me encanta y, he aquí, hay una solución que finalmente resuelve mi problema con Debian al desactivar el problema 'gem update --system'. Muchas gracias. – Mike

+0

Se cambió la respuesta aceptada a esto. – o01

-2

Reconstruirlo desde las fuentes.

+0

¿Alguna sugerencia sobre cómo proceder con esto? – o01

+0

¿Hablas en serio? http://docs.rubygems.org/read/chapter/3#page13 –

1

¿Alguna suerte con gem install builder? Eso parece ser lo que necesitas para obtener rubygems-update para instalar.

+0

Intenté esto, resultado: ERROR: no pude encontrar el constructor localmente o en un repositorio – o01

7

Oi - Siento tu dolor. Primero preguntaré lo obvio; ¿Has estado ejecutando los comandos con sudo? Por lo tanto, usará sudo gem install rubygems-update y sudo update_rubygems.

Si eso no funciona, descargue de nuevo la fuente de gemas y reconstruya desde cero (puede que desee borrar la descarga de la fuente anterior, etc.). Le recomendamos leer HiveLogic article on installing Ruby, RubyGems, etc on Mac OS Snow Leopard.

Si eso no funciona ... :) Podría hacer lo drástico y reconstruir Ruby también.

+0

Gracias amigo :) Sí, ejecuté todos los comandos con sudo. Voy a leer el artículo al que te refieres ... Probablemente terminarás reconstruyendo todo al final. – o01

+0

Me alegro de escucharlo - buena suerte con la reconstrucción. Dado que ese es el caso ... ¿te importaría marcar mi respuesta como respuesta, por favor? – BigBrother

1

me encontré con un problema similar, y yo era capaz de actualizar al hacer esto: sudo update joya --system

+0

Esto funcionó para actualizar rubygems 1.3.5 en OS X 10.6.x y parece mucho más simple que las otras sugerencias más complicadas. –

1

El problema parece ser detectado y reportado como un ciclo dependecy: una nueva versión -dependencias necesarias para instalar la nueva versión de gemas ... sí, es un desastre. La solución recomendada que he visto es hacer la actualización paso a paso en una versión intermedia, para hacer que la transición de actualización sea suave, con pequeñas brechas de versión. Léalo en este artículo, que explica muy bien: link text

Después de leerlo y de probar un par de veces, he visto que todavía era muy difusa/complicado.

Así que se fue a otra solución, que se instala más de NECESARIA, pero es más lisa y llana:

  • instalar una versión más reciente de rubí + IRB + rdoc + gema (lado a lado con la versión antigua ya existente)

  • Ahora instalar la gema "ruby version Manager" (un dolor en Debian/Ubuntu, se puede compilar la versión más reciente de rubí) link text

  • uso RVM para instalar la final y la última ru por versión (lado a lado nuevamente) y mantenerlo actualizado.

  • (ahora se podían usar RVM para desinstalar las versiones anteriores de rubí/gemas en su sistema, y ​​sólo keept la versión más reciente de rubí)

Si lo necesita para un sistema de producción, RVM es ya se ha visto lo suficientemente maduro como para mantener las gemas/rubíes actualizadas con las versiones más nuevas.

creo que sirve algunos de arranque como yo, para "obtener toubles fuera del camino"

5

problema similar, solución diferente

y

$ sudo gem update --system 
ERROR: While executing gem ... (RuntimeError) 
    gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get.      

Mi solución: Ir a http://docs.rubygems.org/read/chapter/3#page13

e instalar de forma manual, es decir, obtener el rubygems .... tgz e instálalo.

espero que ayude a alguien.

+0

Sí, ¡ayudó! ¡Gracias! – talonx

+0

De acuerdo con esta solución. Trabajé en un Mac OS X cuando los comandos de instalación/actualización de gema no funcionaban. – Ryan

+0

El enlace está muerto, cambie a esto quizás: https://rubygems.org/pages/download – oskarth

Cuestiones relacionadas