Ruby on Rails en Windows con WSL2
Tags: wsl2, rails, win10, ruby
Published: 2023-05-26 13:25:47

---
title: Ruby on Rails en Windows con WSL2
published: true
description: Cómo instalar Ruby on Rails en Windows usando WSL2
tags: wsl2, rails, win10, ruby
# cover_image: ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pz57g56bvmm47iqclbk9.png)


# Use a ratio of 100:42 for best results.
# published_at: 2023-05-26 13:09 +0000
---

Cómo podemos programar en Ruby on Rails usando Windows?: la respuesta es usando Windows Subsystem for Linux.

A continuación vamos a instalar WSL2 (Windows Subsystem for Linux v2) en Windows 10/11. Esto nos permitirá trabajar con Ruby on Rails de manera más fácil que usando una máquina virtual en VirtualBox, por ejemplo.

Vamos a seguir los siguientes pasos:

1. [Instalar WSL2](#wsl2)
2. [Instalar PostgreSQL](#psql)
3. [Instalar NodeJS](#nodejs)
4. [Instalar Ruy on Rails](#ror)
5. [Material Adicional](#adicional)

## 1. Instalar WSL2 <a name="wsl2"></a>

Referencia: https://learn.microsoft.com/es-es/windows/wsl/install

1. Ejecuta la aplicación `powershell` en modo administrador. Para esto búscala en el menú inicio y haz click derecho o en la opciones que aparecen a la derecha en la opción *Ejecutar como administrador.*
2. Ejecuta `wsl --install` . Esto va a instalar WSL, por lo que toma un buen tiempo.
3. Verifica que la versión de WSL instalada es la 2, para esto ejecuta en `powershell` el comando `wsl -l -v`. Si es la versión 2 estamos ok, si es la 1 entonces entra al link de referencia y busca cómo actualizar. 

## 2. Instalar PostgreSQL <a name="psql"></a>

Referencia: https://www.cybertec-postgresql.com/en/postgresql-on-wsl2-for-windows-install-and-setup/

1. Ejecuta la aplicación `Ubuntu`. La puedes encontrar en el menú inicio o en el buscador. Esto te va a abrir un terminal de Linux en tu computador. De la distribución Ubuntu.
2. Ejecuta los siguientes comandos:

```ruby
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql postgresql-contrib
```

1. Verifica la version de PostgreSQL que tienes instalada ejecutando `psql --version`. Si te aparece un mensaje mostrando la versión estás ok, si te dice que no reconoce qué es `psql` entonces debes revisar si hubo algún error en el proceso.
2. Verifica que PostgreSQL está corriendo ejecutando `sudo service postgresql status`.
3. Si dice que el estado es `down` entonces ejecuta `sudo service postgresql start` para iniciarlo. Después de esto si verificas el status nuevamente debería decir `up`.

## 3. Instalar NodeJS <a name="nodejs"></a>

Referencia: https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-wsl

1. Ejecuta la aplicación `Ubuntu`. Ejecuta el siguiente comando para instalar *curl*: `sudo apt-get install curl`.
2. Instala *nvm* (Node Version Manager), este programa te permite tener distintas versiones de NodeJS instaladas y seleccionar cuál es la que quieres usar. Para esto ejecuta `curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash`
3. Verifica que la instalación sea exitosa ejecutando `command -v nvm`. Si muestra *nvm* está todo ok, si te dice *command not found* entonces debes cerrar `Ubuntu` y abrirlo nuevamente (esto para que recargue las variables de ambiente).
4. Revisa qué versiones de NodeJS tienes instaladas ejecutando `nvm ls`. Te debería aparecer algo así:


![Versiones de NodeJS instaladas](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aanctz4czn3sh4qlwif7.png)
Fuente: https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-wsl


1. Instala la versión de NodeJS que usamos ejecutando `nvm install 19.9.0`
2. Verifica que tienes instalada la versión ejecutando `node --version` y te debería salir una pantalla similar a la anterior pero con un asterisco al lado de 19.9.0. El asterisco significa que ésa es la que estás usando actualmente.

### 3.1 Instalar yarn

`yarn` es un gestor de dependencias de NodeJS tal como `npm`. Suele ser muy usado como alternativa a `npm` por temas de eficiencia, entre otros. Para instalarlo debes ejecutar `npm install --global yarn`.

## 4. Instalar Ruby on Rails en WSL2 <a name="ror"></a>

Referencia: https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-git

1. Abre la aplicación `Ubuntu`
2. Actualiza la información de los programas que estás disponibles para instalar ejecutando `sudo apt-get update`
3. Instala las dependencias de Ruby ejecutando `sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev`
4. Instala rbenv para manejar las versiones de ruby que puedas tener instaladas. Para esto:
    1. `git clone https://github.com/rbenv/rbenv.git ~/.rbenv`
    2. `echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc`
    3. `echo 'eval "$(rbenv init -)"' >> ~/.bashrc`
    4. `exec $SHELL`
5. Instala la versión 3.2.0 de ruby:
    1. `git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build`
    2. `echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc`
    3. `exec $SHELL`
    4. `rbenv install 3.2.0` (este paso es lento, toma varios minutos)
    5. `rbenv global 3.2.0`
    6. Verifica que esté todo ok ejecutando `ruby -v` y debería decir que estás usando la versión *3.2.0*.
6. Instala *Bundler* ejecutando:
    1. `gem install bundler`
    2. `rbenv rehash`
7. Instala la última versión de Ruby on Rails:
    1. `gem install rails`
    2. `rbenv rehash`
    3. Verifica la versión ejecutando `rails -v`

## Material adicional <a name="adicional"></a>

1. Un (muy buen) tutorial alternativo: https://gorails.com/setup/windows/10#ruby-rbenv
2. Cómo configurar git en WSL2: https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-git