2012-06-18 19 views
5

empecé a tratar de configurar una instalación carriles locales para el desarrollo. Después de instalar usando apt-get, sin embargo, aprendí sobre RVM, por lo que eliminé el anterior y reinstalé desde RVM. Aunque parece que tengo problemas residuales. Específicamente, cuando intento instalar los carriles que recibo ...RVM permisos joya de error

$ gem install rails 
ERROR: While executing gem ... (Gem::FilePermissionError) 
    You don't have write permissions into the /var/lib/gems/1.9.1 directory. 

Esto ya se ve como un problema, porque no quiero que sea en el directorio/var /, yo quiero que sea en el directorio de usuario Por lo tanto, puedo comprobar lo siguiente ...

$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.11 
    - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1 
    - RUBY EXECUTABLE: /usr/bin/ruby1.9.1 
    - EXECUTABLE DIRECTORY: /usr/local/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /var/lib/gems/1.9.1 
    - /home/myusername/.gem/ruby/1.9.1 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

Así como sudo'd:

$ sudo gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.11 
    - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1 
    - RUBY EXECUTABLE: /usr/bin/ruby1.9.1 
    - EXECUTABLE DIRECTORY: /usr/local/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /var/lib/gems/1.9.1 
    - /home/myusername/.gem/ruby/1.9.1 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

gemas parecen vivir en/var/lib por alguna razón. ¿Esto es normal? ¿Cómo puedo arreglar esto para poder instalar la gema de los rieles?

EDIT: ACTUALIZACIÓN!

Me parece que he instalado gemas dos veces, una vez en /var/lib/gems/1.9.91 (malo) y una vez en /home/myusername/.gem/ruby/1.9.1 (bueno) .

Creo que lo que está sucediendo aquí es que cuando escribo "gema" la instalación en /var/lib/gems/1.9.1 (mala) tiene prioridad sobre /home/myusername/.gem/ruby/1.9. 1 (bien). ¿Alguien puede confirmar eso? Además, ¿estaría bien arreglar las cosas solo para eliminar el directorio incorrecto, o eso causaría problemas?

+0

Alguien probablemente necesite un 'ls -la/var/lib/gems/1.9.1' desde la línea de comando para descubrir los permisos actuales en el directorio. También tal vez 'whoami' para ver al usuario actual. – buley

+0

Los permisos son 755, pero creo que el problema es que preferiría tener esto instalado fuera de var, ¿verdad? var debe ser propiedad de root. ¿No debería estar ubicado solo en el directorio de inicio/nombre de usuario? – Mittenchops

Respuesta

7

se ha perdido el uso de rubí, puede hacerlo con:

rvm use 1.9.3 --install 

En caso de que no se ha instalado 1.9.3, este comando también instalarlo!

También se ve que está utilizando Ubuntu, asegurarse de que no está utilizando RVM de paquetes de Ubuntu - que algo se rompe! Puede encontrar instrucciones sobre cómo solucionarlo aquí: https://stackoverflow.com/a/9056395/497756

+0

También me echa un vistazo a [archivos rvmrc] (https://rvm.io//workflow/rvmrc/), que puede ser útil para utilizar automáticamente versiones de rubí y gemsets a medida que atraviesan el sistema de archivos. –

+0

Creo que no hubo ninguna investigación, el mejor comienzo está en https://rvm.io, proporciona el mejor conjunto de información, actualizada para reflejar el estado actual de RVM. – mpapis

+1

'$ RVM uso 1.9.3 --install RVM no es una función, la selección de rubíes con el 'uso RVM ...' no va a funcionar. Necesita cambiar la configuración de su terminal para permitir el inicio de sesión del shell. Por favor, visite https://rvm.io/workflow/screen/ para example.' – Mittenchops

Cuestiones relacionadas