Desinstalación de rieles y gemas, recibiendo el error "no se puede desinstalar, comprobar la 'joya de la lista d ...'

StackOverflow https://stackoverflow.com/questions/4007074

Pregunta

Voy a empezar con la habitual noob línea, "soy nuevo en rails".Ah, y soy de Mac OSX 10.6.4

He estado siguiendo un montón de guías para ponerse en marcha, en concreto estos dos aquí y aquí.Los guías son excelentes, la razón por la que estoy usando la segunda es porque de RVM y la razón por la que estoy usando la primera es para MYSQL.

De todos modos, cuando empecé, yo no estaba siguiendo las instrucciones completamente y así después de instalar RVM, por alguna razón, he instalado rails con sudo gem install rails -v 2.3.8 porque esa es la versión que yo necesito.Así que...Me di cuenta de que yo estaba usando el sistema de ruby, y no se estaba aprovechando de RVM.Lo que hice ahora fue instalar Ruby 1.9.2, así que puedo instalar rails 3 y probarlo, y también he instalado 1.8.7 y rails 2.3.8 así que la voy a usar para lo que la necesito.

Ahora, estoy tratando de desinstalar las gemas del sistema de Ruby, pero siempre trato de que estoy recibiendo este error:

ERROR:Durante la ejecución de la gema ...(Gema::InstallError)
no puede desinstalar de " verificación de la joya de la lista -d lo de la gema yo intente desinstalar'

Ideas sobre cómo quitar los rieles y todas estas joyas?Sólo quiero empezar desde cero con RVM.


ACTUALIZACIÓN:

Ejecutando el comando gem list -d rails He situado las gemas en /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/18.Debo eliminar de forma manual?

¿Fue útil?

Solución

!! Todavía no entiendo por qué sucedió esto, me encantaría si alguien podría explicar. ¿Por qué era el camino inexistente? Lo que causó este error?

Además, quiero mencionar que la solución he vinculado tiene un comentario diciendo que la pregunta es un duplicado. Sin embargo, el original tiene una solución diferente y no me ayuda (aunque su base a la búsqueda de esta respuesta). Simplemente borrar manualmente las gemas en el buscador no eliminarlos de la lista joya.

Sin más preámbulos - resulta que cuando se trata de desinstalar la gema, no se puede localizar a su paso (creo que el problema es debido a la instalación con sudo, pero podría estar equivocado) . Lo que hay que hacer es (hay que hacerlo uno por uno para cada gema, o al menos tenía a):

  1. gem list -d 'name of gem' y observe la "Instalado en:" ubicación (en mi caso, /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8)
  2. sudo gem uninstall 'name of gem' -i 'the path noted above' (ej. En mi caso, sudo gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  3. Algunas gemas todavía podría no desinstalación de devolver un error de permisos. Si este es el caso, lo que hay que hacer es crear una carpeta / bin, en la ruta anterior. (En mi caso, mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin
  4. Continuar desinstalar como en el paso 2, todavía utilizando la ruta original (/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8).

Ahora todas las desinstalaciones deben trabajar!

Otros consejos

Hay dos cosas que usted debe tener en cuenta cuando se utiliza RVM:

  1. Debe nunca uso sudo instalar gemas, acaba de hacer una gem install xxx

  2. No se puede desinstalar gemas instaladas en el mundial gemset desde dentro de otra gemset. Debe cambiar a la gemset global y desinstalación de allí:


 rvm gemset use global
 gem uninstall xxx

ejecutar esta sea en IRB o en un script adecuado:

`gem list --no-versions`.split("\n").each do |gem|
  `gem list -d #{gem}`.gsub(/Installed at(.*):.*/).each do |dir|
    dir = dir.gsub(/Installed at(.*): /,'').gsub("\n", '')
    system "gem uninstall #{gem} -aIx -i #{dir}"
  end  
end

tratar de esta manera:

sudo apt purge rails

i bien veo ....

En este punto, si estás en el terminal, no debería tomar más que unos minutos para volver a instalar todo el asunto

sospecho que puede que no sea en el nombre RVM correcto que tiene las gemas que está tratando de instalar así que por eso me gustaría sugerir reinstalar rubygems y la construcción estés gemas esenciales, desde el principio en su nombre Global RVM gemset.

Una respuesta más genérica para eliminar todas las gemas para versiones anteriores de joya 1.8.

lista joya --no-versiones | xargs sudo joya desinstalación -aIx

Yo estaba usando RVM para gestionar mis gemsets y no había seleccionado el gemset. No era que yo había seleccionado el gemset mal, era que no había seleccionado el gemset en absoluto. Una bonita manera de pasar la mayor parte de una hora de mi primera vuelta mañana después de mis vacaciones de verano!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top