2010-11-20 15 views
5

Soy nuevo en Ruby and RoR. Tengo una instancia limpia de Linode con una imagen de Ubuntu, y quiero compilar Ruby desde la fuente en lugar de usar apt-get. Busqué instrucciones en Google para hacer esto, pero después de algunos intentos sigo recibiendo errores con respecto a la falta de zlib y algunos otros paquetes cuando intento ejecutar algunos ejemplos de tutoriales.¿Prerequisitos necesarios para compilar Ruby 1.9.2 en Linux?

¿Alguien puede por favor darme instrucciones detalladas (o un enlace) que me enseñen cómo obtener los paquetes de requisitos previos necesarios instalados antes de compilar Ruby desde la fuente?

Mi intención es compilar la última versión estable de Ruby, luego instalar Rubygems and Rails. Gracias por cualquier ayuda de antemano!

+0

La compilación desde el origen solo se debe utilizar si los paquetes que necesita no están disponibles en los repositorios. – EmFi

Respuesta

3

I ALTAMENTE recomendamos usar 'RVM' para instalar todos sus rubies, especialmente si lo está haciendo solo para su propio uso. RVM hará toda la compilación por usted, coloca todo en ~/.rvm incluyendo las gemas, y facilita la instalación de múltiples versiones de Ruby y gemas para probar.

Installation y using gems lo pondrán en funcionamiento. Los Gemsets de RVM son potentes, y el comando ruby de RVM lo hace agradable para realizar alguna acción en todas las administraciones Rubies RVM instaladas.

RVM también admite system-wide installations ofreciendo la flexibilidad de RVM si lo necesita, pero es un poco más complicado y no es necesario si está en una máquina de un solo usuario.

+0

bastante complicado de instalar pero muy útil, ¡me gustó! Gracias ! –

0

¿Por qué no instalar zlib? sudo aptitude install libz-dev

He compilado desde la fuente, y es bastante bueno para advertirle cuando se está perdiendo una dependencia.

18

This blog post cubre los paquetes necesarios e instala el proceso para compilar ruby ​​desde el código fuente; hace referencia a Ruby 1.9.1 pero también debería funcionar bien con Ruby 1.9.2. El bit de utilidad real a partir de este post es:

sudo apt-get -y install libc6-dev libssl-dev libmysql++-dev libsqlite3-dev make build-essential libssl-dev libreadline6-dev zlib1g-dev libyaml-dev 

Parece que a mí que algunos de éstos no son esenciales a menos que quiera pasar a utilizar MySQL o SQLite, pero por lo demás esta lista de paquetes conseguirá lo necesitas compilar a Ruby.

Después de eso, no recomendaría realmente instalar Ruby desde el origen de forma manual; Usaría RVM (Ruby Version Manager) para que pueda instalar cualquier versión de Ruby que desee, ahora y más adelante. RVM compila las diferentes versiones de Ruby descargando y compilando el código fuente, y también instalará Rubygems por usted.

Una vez que haya instalado rvm, puede usar rvm requirements para obtener la lista actual de paquetes necesarios.

+1

+1: Para RVM y advertencia acerca de compilar desde el origen. – EmFi

+0

Probablemente también quieras 'libyaml-dev', o Ruby se compilará sin compatibilidad con YAML. –

+0

Desafortunadamente la publicación del blog se ha ido ... –

8

Puede usar apt-get install para todas las dependencias de compilación para cualquier paquete. Habilite su repositorio de origen y luego ejecútelo.

sudo apt-get build-dep ruby1.9 rails 

Esto instalará todos los paquetes que se necesitan para compilar el código fuente para estos dos paquetes. Luego puede obtener la última fuente y seguir las instrucciones.

N.B .: Los nombres de los paquetes pueden estar equivocados, depende de la versión de Ubuntu que utilice.

+2

Instalar Ruby desde el paquete está bien, pero no recomendaría instalar Rails desde el paquete. Para un ruby ​​de sistema, recomiendo instalar Rubygems manualmente (instrucciones en rubygems.org - http://rubygems.org/pages/download) y luego 'gem install rails'. – wuputah

+0

Lamentablemente, he visto paquetes que no incluyen irb y rdebug, que considero esenciales para trabajar con Ruby. Como resultado, solo instalo usando source ahora, y desde que apareció RVM lo uso como mi primera opción. Los paquetes se han convertido en mi último recurso. –

+4

Solo sugerí los paquetes como un acceso directo para instalar todas las dependencias de compilación. – EmFi

Cuestiones relacionadas