Ruby

rbenv

Instalación y configuración desde cero

  1. instalación en /usr/share/
    1. $ git clone https://github.com/sstephenson/rbenv.git rbenv
    2. $ mkdir rbenv/plugins
  2. plugin para compilar rubies
    1. $ cd /usr/share/rbenv/plugins
    2. $ git clone https://github.com/sstephenson/ruby-build.git
  3. para tener bash_completions
    1. $ ln -s /usr/share/rbenv/completions/rbenv.bash /etc/bash_completion.d/rbenv.sh
  4. en /etc/profile.d/rbenv.sh y /root/.bashrc
      export RBENV_ROOT=/usr/share/rbenv
      export PATH="$RBENV_ROOT/bin:$PATH" 
      eval "$(rbenv init -)" 
    
  5. nos logueamos como root así crea los archivos iniciales

Actualización

git pull en /usr/share/rbenv/ y en cada plugin (/usr/share/rbenv/plugins)

Instalar un ruby

Se instalan como root con rbenv install _versión_. Las versiones se arman en /usr/share/rbenv/plugins/ruby-build/share/ruby-build/ pero ya hay muchas armadas.

Ruby Enterprise Edition (ree)

Una versión algo desmantenida pero muchas aplicaciones están preparadas para usarlo, además de que tiene mejor rendimiento.

  • Se instala con rbenv install ree-1.8.7-2012.02
  • Si tcmalloc da problemas en la configuración, se puede deshabilitar anteponiendo CONFIGURE_OPTS="--no-tcmalloc" rbenv install ...
  • Si la compilación da problemas más jodidos, se puede usar esta receta/versión patcheada: patched-ree-1.8.7-2012.02 y gcc-4.5 (fuente)
    • CC=gcc-4.5 rbenv install patched-ree-1.8.7-2012.02

Gemas

Las gemas hay que instalarlas como root o, preferentemente, usar bundle install --deployment para instalar gemas locales al proyecto si este usa bundler. Después de cada instalación hay que usar rbenv rehash para que genere los binarios. Si es una gema que necesita ser compilada, y es para ree o patched-ree, hay que usar CC=gcc-4.5 gem install.

bundler

Hay que instalarlo como root para que cada proyecto lo tenga disponible para instalar las demás gemas localmente.

passenger

  1. Se instala como root para cada ruby que lo vaya a usar. Hay que patchearlo por gcc-4.7.
  2. passenger-install-nginx-module

Alternativamente bajamos la fuente de nginx que queramos y se la pasamos a passenger

Also available in: PDF HTML TXT