Tengo una máquina que ejecuta Ubuntu Hardy, que proporciona su propio paquete de RubyGems. Lamentablemente, esa versión de RubyGems (1.1.1) es demasiado antigua para hacer algo útil, así que decidí actualizar RubyGems manualmente a la versión actual (1.3.6). Esa parte fue sin problemas, y si hago gem -v
, obtengo 1.3.6
que se espera. El problema es cuando trato de hacer: sudo gem install rack
, devuelve este error:Errores de instalación de RubyGems cuando se usa 'sudo' y no se usa sudo
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/username/.gem
Por lo general, cuando instalo gemas como root, se sabe para instalarlo en /usr/lib/ruby/gems
, así que ¿por qué está comprobando mi directorio en absoluto? Otra peculiaridad es cuando hago gem install rack
(no como root), que dice:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/lib/ruby/gems/1.8 directory.
que es donde quiero que vaya. Ya he intentado borrar source_caches, probando diferentes versiones de RubyGems (1.3.5), forzando la instalación en /usr/lib
con -i
en vano. ¿Alguna idea sobre por qué RubyGems es tan insistente al verificar mi directorio /home
al instalar como root?
No hay diferencia en los dos, aunque en la sección GEM PATHS: '/ usr/lib/ruby / gems/1.8' y'/home/username/.gem/ruby / 1.8'. ¿No debería eso no estar allí por defecto con sudo? –
Son lo mismo en mi sistema, pero solo después de pasar y 'limpiar' todo después de volver a compilar 1.9. Cosas que comprobé: 1. Eliminé el comando gem no utilizado (tenía uno en/usr/bin y/usr/local/bin 2. Comprobé mi archivo ~/.gemrc y limpié la ruta para señalar mi gema ruta en/usr/local/lib. Utilicé mi carpeta ~/.gem como copia de seguridad 3. Emparejé mis variables de entorno GEM_HOME y GEM_PATH arriba (en .profile/.bash_profile/.bashrc) con el archivo .gemrc 4.Permisos comprobados en las carpetas gemelas 5. También puede verificar si tiene algo en/etc/gemrc – SundayEdition
Así que revisé estas sugerencias y todas parecen verificar: 1) solo un ejecutable gema en/usr/bin , 2) no .gemrc, 3) Nunca establecí estas variables en mi .profile, 4) las carpetas gem tenían permisos para root, que sudo debería estar bien con, 5) no/etc/gemrc. El único otro inconveniente es que tal vez el hecho de que mi directorio de inicio viva en AFS arruine las cosas. –