¿Cómo instalar la última versión de Ruby y Ruby on Rails en Ubuntu?

15

Instalé Ruby con el comando apt-get install ruby1.9.1, pero cuando entro rubyen la consola, no pasa nada.

Tengo que usar el comando

ruby1.9.1-v

ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]

Pero, ¿cómo lo llamo rubyy no ruby1.9.1? ¿Y cómo instalo Rails?

CUENTA
fuente
¿Qué sucede si haces "which ruby", se muestra como instalado? ¿"Ruby -v" muestra el número de versión correcto?
Nathaniel Bannister
Instalar: sudo apt-get install ruby1.9.1-full ruby ​​-v
BILL
El programa 'ruby' no está instalado.
BILL
Cuando escribe "sudo apt-get install ruby1.9.1-full" en un terminal, ¿sucede algo?
slotishtype 01 de
1
Estoy un poco confundido por tu actualización. Si desea instalar rieles, use RVM - rvm.beginrescueend.com - para instalar rieles y cualquier otra gema. Es un administrador de paquetes y le ahorrará mucho tiempo.
slotishtype 01 de

Respuestas:

19

Cómo obtener una versión actual de Ruby sin estropear su sistema

No se meta con su sistema Ruby, sino que instale una versión actual con rbenvo con RVM. Prefiero el primero , pero ambos funcionan bien. Tenga en cuenta que solo puede instalar uno de esos a la vez.

Con tal administrador de versiones de Ruby, nunca tendrá que volver a escribir sudopara instalar (o desinstalar) una Gema, y ​​puede mantener diferentes versiones para diferentes proyectos. Puede eliminar estas versiones de forma segura nuevamente.

Asegúrese de leer los correos READMEelectrónicos de esas herramientas, al menos una vez.

Método 1 - rbenv

rbenv es un administrador de versiones para Ruby. Le permite instalar una versión de Ruby junto con su sistema original Ruby, lo que significa que no puede estropearla y puede actualizar fácilmente las versiones.

Para instalarlo, use el rbenv-installer. Asegúrese de reiniciar su shell una vez que esté instalado, y que la rbenvfunción funcione.

Luego, una vez que rbenv esté instalado, ejecute rbenv install -l. Esto le da una lista de rubíes disponibles. Instale el elegido con:

rbenv install 2.5.1

Ahora elija este como predeterminado:

rbenv global 2.5.1

Tan pronto como se haga esto, gempuede usarse para ejecutar:

gem install rails

Si lo anterior no funciona, es posible que le falten paquetes necesarios para construir desde la fuente. Consulte aquí para obtener una lista de los paquetes que tal vez desee instalar. En Ubuntu, estos incluyen:

sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev

Método 2 - RVM

También puede instalar Ruby sobre RVM . Aquí también, no necesita sudonada, y podrá obtener versiones más recientes de Ruby junto con el sistema.

Lea las instrucciones de instalación para su sistema.

Después de la instalación, puede instalar Rubies con un simple comando. Primero, verifique rvm list knownpara obtener la lista de versiones instalables. Ahora instale su elección:

rvm install 2.5.1

Luego, configúrelo como la versión predeterminada de Ruby para su usuario:

rvm use 2.5.1 --default

Ahora puede instalar Rails sobre gem:

gem install rails
slhck
fuente
Además, si está usando RVM, no use sudo.
slotishtype
FYI - en el apt-get installpaso, tieneslib1g arriba cuando esto debería ser zlib1g. También instalé rvm con apt-get. Esto configura las cosas muy bien y no requiere que edites tu bashrc. No estoy seguro de si este es el mejor enfoque, ya que aún no lo he intentado $rvm get latest.
spinlock
@slhck StackExchange no me deja hacer la edición en el apt-get install paso: las ediciones deben tener más de 6 caracteres y solo necesitamos cambiar 1. Y, sudo apt-get install ruby-rvmhasta ahora , no soy fanático . Recibo errores extraños debido a los permisos (es decir, $ rvm install 1.9.3 se queja porque intenta escribir en un directorio propiedad de root). Parece que mantener rvm en el espacio de usuario es la mejor opción.
spinlock
Siento que rbenv (y ruby-build ) deberían mencionarse aquí para completar. Es una alternativa a RVM con un método más limpio de enganchar en su shell (pero prácticamente no es necesariamente muy diferente).
JamesGecko
1
Lo acabo de hacer sudo apt-get install ruby-rvm , ¿todavía hay una necesidad de hacer locuras para comenzar a rescatar, sea lo que sea?
Jeff Atwood