2010-08-19 22 views
24

Soy un linux noob que ejecuta Ubuntu 10.04 y trato de instalar rieles. Primero instalé Ruby y luego RVM y luego descargué e instalé rubygems y luego instalé rieles.Instalación de Rails Path en Ubuntu con RVM

Rails solo parece responder si tengo un 'sudo' delante del comando. Si escribo 'carriles nueva prueba' en la terminal me sale esto:

/usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) 
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate' 
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem' 
    from /usr/bin/rails:18 

Si voy a la terminal y escribo 'rieles -v' tengo la misma cosa:

/usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) 
     from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate' 
     from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem' 
     from /usr/bin/rails:18 

Y si voy a la terminal y escribir 'rieles sudo -v' me sale el siguiente: rieles 3.0.0.rc

'entorno joya' me da esto:

RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.9.2 (2010-07-11 patchlevel -1) [i686-linux] 
    - INSTALLATION DIRECTORY: /home/josh/.rvm/gems/[email protected] 
    - RUBY EXECUTABLE: /home/josh/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/josh/.rvm/gems/[email protected]/bin 

Mi sospecha es que mi ruta de acceso no está configurada correctamente, pero no estoy seguro de cómo solucionarlo. Sugerencias?

Respuesta

17

Supongo que instaló sus gemas usando sudo (por ejemplo, sudo gem install rails). Cuando utiliza sudo para instalar, se ignora RVM y se está utilizando el ruby ​​del sistema.

Al usar RVM, realmente no desea instalar con sudo (tenga en cuenta que hay un comando rvmsudo, para ejecutar su configuración de RVM a través de sudo, pero muy rara vez lo usará). Como puede ver en su entorno, sus gemas se almacenarán en /home/josh/.rvm/gems/[email protected]/gems, donde no necesita permisos de root para su instalación.

Así que trate de:

gem install rails 

como a ti mismo y ver si todo está funcionando.

+0

gracias, he intentado 'joya instalar rieles' y recibido esto: ERROR: comando de carga: instalar (LoadError) No existe el fichero a cargar - zlib ERROR: Si bien la ejecución de la gema ... (NameError) sin inicializar Gem constante :: :: Comandos InstallCommand alguna idea? – user424703

+0

Parece que no tiene zlib instalado en su máquina. Esta es una dependencia de libssl, así que recomendaría hacer un aptitude install openssl y luego volver a intentarlo –

+0

Gracias por la ayuda ... Ejecuté 'aptitude install openssl' ... reinstalé rubygems y ejecuté 'gem update - -system 'y obtuve este error: "ERROR: Cargando el comando: actualizar (LoadError) no se ha cargado ese archivo - zlib" He intentado también' gem install rails --version 3.0.0 'y recibí el muy similar "ERROR: comando de carga: instalar (LoadError) no existe el fichero a cargar - zlib ERROR: Durante la ejecución de la gema ... (NameError) sin inicializar Gem constante :: :: Comandos InstallCommand" ERROR: Durante la ejecución de la gema ... (NameError) sin inicializar Gem constante :: Comandos :: UpdateCommand " ¿Alguna idea de lo que puedo hacer? – user424703

0

No, todas mis gemas están instaladas sin sudo.

Aquí hay información de depuración que puede ayudar.

$ PATH antes de rvm 1.9.2 --passenger

/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin: /home/kevin/.rvm/gems/[email protected]/bin: /home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games

$ PATH después rvm 1.9.2 --passenger

/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin: /bin:/home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Este es mi archivo .bashrc: http://pastebin.com/H9U3azAk

0

si está instalando a través de la fuente

ext/Setup and uncomment the zlib line 

$ ./configure 
$ make 
$ sudo make install 

$ ruby -v 
=> ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] 

$ gem -v 
=> 1.3.7 
2

Como Rob Di Marco se ha dicho anteriormente, no se puede utilizar con sudo gem install rails RVM (ver el RVM Documentation).

De hecho, me acaba de hacer una pregunta muy similar. Inicialmente instalé rieles con sudo gem y cuando intenté instalar una versión anterior de rieles usando RVM me encontré con este problema.Esta fue mi código:

rvm use 1.8.7 
rvm gemset create rails3.0.1 
rvm [email protected] 
sudo gem install rails --version=3.0.1 #the *sudo* in this line is WRONG 

Otro usuario (Zetetic) sugirió que desinstalar sus "carriles sudo gem" con el siguiente comando:

sudo gem uninstall rails 

y luego instalar de nuevo sin sudo - gem install rails

Después de hacer todo esto volví a intentar mi código original y funcionó, pero esta vez sin sudo:

rvm use 1.8.7 
rvm gemset create rails3.0.1 
rvm [email protected] 
gem install rails --version=3.0.1 

El código anterior solo puede ser relevante para usted si está intentando utilizar RVM, pero para resolver su problema, intente desinstalar sus sudo rails y volver a instalarlo sin sudo. Trabajó para mi. ¡Buena suerte!

45

También experimenté este problema en una instalación limpia de Ubuntu 10.10 ... incluso después de instalar los requisitos previos de rvm y ruby ​​documentados por "$ rvm notes".

Parece ser un problema con la instalación de la gema "rvm" que no puede encontrar la instalación del sistema zlib. El comentario anterior de Daniel es un gran comentario, una lástima que no figure como una respuesta.

Así que la solución para mí fue seguir las instrucciones señaladas por Daniel en: https://rvm.beginrescueend.com/packages/zlib/.

$ rvm pkg install zlib 
$ rvm remove 1.9.2 
$ rvm install 1.9.2 

El primer comando instala zlib localmente en su área de rvm. El segundo comando elimina ruby ​​1.9.2 y el tercer comando reinstala ruby ​​1.9.2 con rvm-local zlib.

A partir de entonces configurar su versión rubí e instalar gemas:

uso $ RVM 1.9.2
$ gem install "sea cual sea"

+2

Tuve que usar la siguiente variante: rvm install 1.9.2 --with-zlib-dir = $ rvm_path/usr –

+0

Tuve que quitar la plataforma de rubí primero antes de continuar con la instalación de zlib –

2

La solución es:

apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev 

continuación:

rvm install ruby-1.9.2-p290 
rvm default 1.9.2 
7

Si recibe esta advertencia, "ERROR: comando de carga: actualice (LoadError) no se cargue ese archivo - zlib"

Básicamente, si la biblioteca zlib no está allí en el momento de compilar ruby, simplemente tiene que regresar e instalar la biblioteca y luego volver a compilar ruby.

Así que trate estos pasos

  1. desinstalación rubí

    rvm remove ruby-1.9.2

  2. Instalar las librerías necesarias

    sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  3. Reinstalar rubí

    rvm install 1.9.2

  4. es probable que desee para configurar esta versión de rubí como predeterminado

    rvm use 1.9.2 --default

  5. Sólo para estar seguro, cerca de la terminal que tenga abierto y abrir una nueva. Deberías ser bueno para ir desde aquí.

0
  1. primer lugar, instale las librerías necesarias

    sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  2. a continuación, vuelva a instalar ruby ​​1.9.2

    rvm reinstall 1.9.2 && rvm use 1.9.2

Cuestiones relacionadas