La guia de platanus
  • README
  • Acuerdos
    • Guía de Estilo
      • Ejemplo: Módulo para variables de entorno
  • Stack
    • Getting Started
    • Nuestro MVC extendido
    • Ruby/Rails
      • Power Types
        • General
        • Patrones
          • Commands
          • Utils
          • Services
          • Values
          • Observers
      • Potassium
      • Power API
      • Active Admin
        • General
        • Active Admin Addons
      • Pundit
      • Shrine
        • General
        • Manejo y procesamiento de imágenes
      • Pry
      • Strong Migrations
      • Data Migrate
      • Active Job
      • Gems
      • Engines - Modularización en Rails
    • JavaScript
      • Vue
        • General
        • Testing
      • AlpineJS
    • CSS
    • Mobile
      • Expo
      • React Navigation
      • Redux
        • Crear y conectar una slice en Redux
      • Styling
        • Usando Tailwind en React Native
      • Recursos
    • Resolviendo problemas (debugging)
    • Machine Learning
  • Setup
    • Configuración de tu entorno local
      • Instalación Base
        • OSX
        • Windows
        • Linux
      • Tecnologías
        • Ruby
        • Docker
        • Node
      • Herramientas
        • Linters
        • Editores
          • IDE/Editores de Código
            • Visual Studio Code
            • Sublime Text
        • Git
    • Configuración de proyectos
      • Getting Started
      • Heroku
      • Rails
      • Circle CI
      • Vue
      • Apple App Store
      • Google Play
      • Expo
      • S3
      • Git
      • Cloudflare
      • Sendgrid
      • Dominio + Mailing
      • Google Tag Manager, Analytics, Search Console, etc.
        • Google Tag Manager
          • Configurar Google Tag Manager
        • Google Analytics
        • Indexación en Google
        • Google Ads
      • Crear un bucket de S3
      • SlackBot
      • Google BigQuery
  • Deployment
    • Rails
    • Ruby Gems
    • Browser and Node (Open Source)
    • Mobile
      • Mobile Resources
      • Apple App Storage
      • Google Play
  • Upgrades
    • Upgrade de Vue 2 a Vue 3
    • Migración Hound → reviewdog
    • Upgrade de Postgresql
Con tecnología de GitBook
En esta página
  • OSX
  • Previo a la instalación
  • Instalación
  • Posibles errores
  • Windows
  • Linux (Ubuntu)
  • Posibles errores
  • Instalando versiones de ruby
  • Ruby Aliases
  1. Setup
  2. Configuración de tu entorno local
  3. Tecnologías

Ruby

AnteriorTecnologíasSiguienteDocker

Última actualización hace 1 año

Para nuestros desarrollos en Ruby utilizamos el manejador de versiones y algunos plugins. La versión que usa cada proyecto está indicada en el .ruby-version

OSX

Previo a la instalación

Antes de empezar con esta instalación tienes que revisar si tienes rvm instalado y quitarlo de tu computador.

Para esto ejecuta:

rvm

y si dice que no existe, tu computador está listo para la instalación, y si aparece algo tienes que desinstalarlo con

rvm implode

gem uninstall rvm

Finalmente, revisa tus archivos .bash_profile o .zshrc y comprueba que no quedan lineas relacionadas con rvm.

Instalación

# Instala rbenv
brew install rbenv

# Instala plugins
brew install ruby-build rbenv-vars rbenv-aliases rbenv-default-gems

Luego debes cargar rbenv en tu shell para que puedas acceder a las diferentes versiones. Para esto debes agregar la siguiente linea en tu .bash_profile o .zshrc dependiendo del shell que uses. Hay dos formas de hacerlo:

  1. Ejecutar el siguiente, que agrega automáticamente la línea necesaria:

    • Si usas .bash_profile

      echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
    • Si usas .zshrc

      echo 'eval "$(rbenv init -)"' >> ~/.zshrc
  2. Abrir .bash_profile o .zshrc y agregar la linea en el archivo usando el editor de preferencia:

    eval "$(rbenv init -)"

    Te sugerimos, reiniciar la shell para que se apliquen los cambios. Para comprobar que tenemos rbenv instalado correctamente, escribe en tu consola la siguiente linea:

    rbenv

    Debiera aparecer la versión de rbenv instalada y los comandos que hay para ejecutar.

  3. Abrir .bash_profile o .zshrc y agregar la linea en el archivo usando el editor de preferencia:

    eval "$(rbenv init -)"

    Te sugerimos, reiniciar la shell para que se apliquen los cambios. Para comprobar que tenemos rbenv instalado correctamente, escribe en tu consola la siguiente linea:

    rbenv

    Debiera aparecer la versión de rbenv instalada y los comandos que hay para ejecutar.

Posibles errores

Un posible error al instalar rbenv es no tener bien configurado el PATH de la shell.

Windows

Para instalar rbenv con WSL2, sigue las instrucciones de Linux.

Linux (Ubuntu)

# Instala rbenv
sudo apt update
sudo apt install rbenv -y

Luego debes cargar rbenv en tu shell para que puedas acceder a las diferentes versiones. Para esto debes agregar la siguiente linea en tu .bashrc o .zshrc (este archivo está normalmente en el directorio $HOME) dependiendo del shell que uses.

eval "$(rbenv init -)"

Puedes agregarlo con cualquier editor o hacerlo así (reemplaza ~/.bashrc por ~/.zshrc si usas zsh en lugar de bash):

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Cierra la ventana del terminal y abre una nueva para que los cambios surjan efecto.

# ruby-build
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

# rbenv-vars
git clone https://github.com/rbenv/rbenv-vars.git $(rbenv root)/plugins/rbenv-vars

# rbenv-aliases
git clone https://github.com/tpope/rbenv-aliases.git $(rbenv root)/plugins/rbenv-aliases
# configuramos el alias automático (ver posibles errores)
rbenv alias --auto

# rbenv-default-gems
git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems

Posibles errores

Para configurar los aliases automáticos del plugin rbenv-aliases, primero debemos instalar una versión de ruby utilizando rbenv. Si al ejecutar el comando rbenv alias --auto recibes un error relacionado a que la carpeta versions no existe, sigue con el último paso y luego ejecuta de nuevo el comando.

Instalando versiones de ruby

Para instalar nuevas versiones de ruby, el plugin ruby-build nos permite usar el comando rbenv install:

# Actualizar las versiones de ruby disponibles para instalar
cd $(rbenv root)/plugins/ruby-build && git pull
# o en OSX
brew upgrade ruby-build

# Listar todos las versiones disponibles para instalar
rbenv install --list

# Instalar una version en particular
rbenv install 2.7.4

Recomendación: Define alguna version de ruby que quieras para tener como global haciendo rbenv global 2.7.4 De esta manera no estarás usando la version de ruby que trae el sistema operativo. Esto hace que sea más seguro ya que no necesitas usar sudo para instalar gemas.

Warning: Si no puedes usar rbenv o instalar gemas sin sudo, es muy probable que hayas dado los permisos equivocados en algún paso de la instalación. Esto no es seguro, por lo tanto te recomendamos eliminar todo y volver a hacer los pasos sin dar permisos de super usuario.

TIP: Las versiones de ruby quedan instaladas en ~/.rbenv/versions.

TIP: El plugin rbenv-default-gems tiene como objetivo instalar gemas automáticamente cuando instalas una nueva version de ruby. Para esto crea un archivo de texto ~/.rbenv/default-gems y agrega línea por línea el nombre de las gemas que quieres que se instalen. Buenos candidatos son bundler y rails.

Ruby Aliases

Como estandar en Platanus usamos aliases para definir las versiones de ruby que utilizan los proyectos. De esta manera nos evitamos tener que actualizar los proyectos cada vez que instalas una nueva version de ruby. Esto nos ayuda en menos manteción y en menos uso de espacio en disco.

Los aliases son simplemente symbolic links de una version de ruby con un nombre en particular. Estos aliases podrían ser nombre arbitrarios, pero nosotros usamos la version de ruby sin el patch

# Listar los aliases
rbenv alias

2.2 => 2.2.7
2.3 => 2.3.4
2.4 => 2.4.1

rbenv tiene varios . Para instalarlos basta con dejarlos en ~/.rbenv/plugins/. Recomendamos instalar los siguientes plugins: , , , :

Para manejar estos aliases, puedes usar el plugin de que crea los alias automáticamente al instalar nuevas versiones de ruby.

rbenv
plugins
ruby-build
rbenv-vars
rbenv-aliases
rbenv-default-gems
rbenv-aliases