1 Otras formas de configurar tu entorno
Si no quieres configurar Rails para el desarrollo en tu máquina local, puedes usar Codespaces, el complemento remoto de VS Code o rails-dev-box. Obtén más información sobre estas opciones aquí.
2 Desarrollo local
Si deseas desarrollar Ruby on Rails localmente en tu máquina, sigue los pasos a continuación.
2.1 Instalar Git
Ruby on Rails utiliza Git para el control de código fuente. La página de inicio de Git tiene instrucciones de instalación. Hay una variedad de recursos en línea que te ayudarán a familiarizarte con Git.
2.2 Clonar el repositorio de Ruby on Rails
Navega hasta la carpeta donde deseas descargar el código fuente de Ruby on Rails (creará su propio subdirectorio rails
) y ejecuta:
$ git clone https://github.com/rails/rails.git
$ cd rails
2.3 Instalar herramientas y servicios adicionales
Algunas pruebas de Rails dependen de herramientas adicionales que debes instalar antes de ejecutar esas pruebas específicas.
Aquí está la lista de las dependencias adicionales de cada gema:
- Action Cable depende de Redis
- Active Record depende de SQLite3, MySQL y PostgreSQL
- Active Storage depende de Yarn (además, Yarn depende de Node.js), ImageMagick, libvips, FFmpeg, muPDF, Poppler, y en macOS también XQuartz.
- Active Support depende de memcached y Redis
- Railties depende de un entorno de ejecución de JavaScript, como tener Node.js instalado.
Instala todos los servicios que necesitas para probar correctamente la gema completa en la que realizarás cambios. A continuación, se detallan las instrucciones sobre cómo instalar estos servicios en macOS, Ubuntu, Fedora/CentOS, Arch Linux y FreeBSD.
NOTA: La documentación de Redis desaconseja las instalaciones con gestores de paquetes, ya que suelen estar desactualizados. La instalación desde la fuente y la puesta en marcha del servidor son sencillas y están bien documentadas en la documentación de Redis.
NOTA: Las pruebas de Active Record deben pasar al menos en MySQL, PostgreSQL y SQLite3. Tu parche será rechazado si se prueba solo con un adaptador, a menos que el cambio y las pruebas sean específicas del adaptador.
A continuación, puedes encontrar instrucciones sobre cómo instalar todas las herramientas adicionales para diferentes sistemas operativos.
2.3.1 macOS
En macOS, puedes usar Homebrew para instalar todas las herramientas adicionales.
Para instalar todo, ejecuta:
$ brew bundle
También deberás iniciar cada uno de los servicios instalados. Para listar todos los servicios disponibles, ejecuta:
$ brew services list
Luego, puedes iniciar cada uno de los servicios uno por uno de la siguiente manera:
$ brew services start mysql
Reemplaza mysql
con el nombre del servicio que deseas iniciar.
2.3.1.1 Problemas potenciales
Esta sección detalla algunos de los problemas potenciales que puedes encontrar con las extensiones nativas en macOS, especialmente al agrupar la gema mysql2 en el desarrollo local. Esta documentación está sujeta a cambios y puede ser incorrecta a medida que Apple realiza cambios en el entorno de desarrollo en Rails.
Para compilar la gema mysql2
en macOS, necesitarás lo siguiente:
- Tener instalado
[email protected]
(noopenssl@3
) - Ruby compilado con
[email protected]
- Configurar las banderas del compilador en la configuración de bundle para
mysql2
.
Si tienes instalados tanto [email protected]
como openssl@3
, deberás indicarle a Ruby que use [email protected]
para que Rails pueda agrupar mysql2
.
En tu .bash_profile
, establece PATH
y RUBY_CONFIGURE_OPTS
para que apunten a [email protected]
:
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])"
En tu ~/.bundle/config
, establece lo siguiente para mysql2
. Asegúrate de eliminar cualquier otra entrada para BUNDLE_BUILD__MYSQL2
:
BUNDLE_BUILD__MYSQL2: "--with-ldflags=-L/usr/local/opt/[email protected]/lib --with-cppflags=-L/usr/local/opt/[email protected]/include"
Al establecer estas banderas antes de instalar Ruby y agrupar Rails, deberías poder hacer funcionar tu entorno de desarrollo local en macOS.
2.3.2 Ubuntu
Para instalar todo, ejecuta:
$ sudo apt-get update
$ sudo apt-get install sqlite3 libsqlite3-dev mysql-server libmysqlclient-dev postgresql postgresql-client postgresql-contrib libpq-dev redis-server memcached imagemagick ffmpeg mupdf mupdf-tools libxml2-dev libvips42 poppler-utils
# Instalar Yarn
# Usa este comando si no tienes Node.js instalado
$ curl --fail --silent --show-error --location https://deb.nodesource.com/setup_18.x | sudo -E bash -
$ sudo apt-get install -y nodejs
# Una vez que hayas instalado Node.js, instala el paquete npm de yarn
$ sudo npm install --global yarn
2.3.3 Fedora o CentOS
Para instalar todo, ejecuta:
$ sudo dnf install sqlite-devel sqlite-libs mysql-server mysql-devel postgresql-server postgresql-devel redis memcached imagemagick ffmpeg mupdf libxml2-devel vips poppler-utils
# Instalar Yarn
# Usa este comando si no tienes Node.js instalado
$ curl --silent --location https://rpm.nodesource.com/setup_18.x | sudo bash -
$ sudo dnf install -y nodejs
# Una vez que hayas instalado Node.js, instala el paquete npm de yarn
$ sudo npm install --global yarn
2.3.4 Arch Linux
Para instalar todo, ejecuta:
$ sudo pacman -S sqlite mariadb libmariadbclient mariadb-clients postgresql postgresql-libs redis memcached imagemagick ffmpeg mupdf mupdf-tools poppler yarn libxml2 libvips poppler
$ sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
$ sudo systemctl start redis mariadb memcached
NOTA: Si estás utilizando Arch Linux, MySQL ya no es compatible, por lo que deberás utilizar MariaDB en su lugar (ver este anuncio).
2.3.5 FreeBSD
Para instalar todo, ejecuta:
$ sudo pkg install sqlite3 mysql80-client mysql80-server postgresql11-client postgresql11-server memcached imagemagick6 ffmpeg mupdf yarn libxml2 vips poppler-utils
# portmaster databases/redis
O instala todo a través de los puertos (estos paquetes se encuentran en la carpeta databases
).
NOTA: Si tienes problemas durante la instalación de MySQL, consulta la documentación de MySQL.
2.3.6 Debian
Para instalar todas las dependencias, ejecuta:
$ sudo apt-get install sqlite3 libsqlite3-dev default-mysql-server default-libmysqlclient-dev postgresql postgresql-client postgresql-contrib libpq-dev redis-server memcached imagemagick ffmpeg mupdf mupdf-tools libxml2-dev libvips42 poppler-utils
NOTA: Si estás utilizando Debian, MariaDB es el servidor MySQL por defecto, por lo que puede haber diferencias.
2.4 Configuración de la base de datos
Hay algunos pasos adicionales necesarios para configurar los motores de base de datos necesarios para ejecutar las pruebas de Active Record.
La autenticación de PostgreSQL funciona de manera diferente. Para configurar el entorno de desarrollo con tu cuenta de desarrollo, en Linux o BSD, solo tienes que ejecutar:
$ sudo -u postgres createuser --superuser $USER
y para macOS:
$ createuser --superuser $USER
NOTA: MySQL creará los usuarios cuando se creen las bases de datos. La tarea asume que tu usuario es root
sin contraseña.
Luego, debes crear las bases de datos de prueba tanto para MySQL como para PostgreSQL con:
$ cd activerecord
$ bundle exec rake db:create
También puedes crear bases de datos de prueba para cada motor de base de datos por separado:
$ cd activerecord
$ bundle exec rake db:mysql:build
$ bundle exec rake db:postgresql:build
y puedes eliminar las bases de datos usando:
$ cd activerecord
$ bundle exec rake db:drop
NOTA: El uso de la tarea Rake para crear las bases de datos de prueba asegura que tengan el conjunto de caracteres y la intercalación correctos.
Si estás utilizando otra base de datos, consulta el archivo activerecord/test/config.yml
o activerecord/test/config.example.yml
para obtener información de conexión predeterminada. Puedes editar activerecord/test/config.yml
para proporcionar diferentes credenciales en tu máquina, pero no debes enviar esos cambios de vuelta a Rails.
2.5 Instalar dependencias de JavaScript
Si instalaste Yarn, deberás instalar las dependencias de JavaScript:
$ yarn install
2.6 Instalación de dependencias de Gemas
Las gemas se instalan con Bundler, que se incluye de forma predeterminada con Ruby.
Para instalar el Gemfile de Rails, ejecuta:
$ bundle install
Si no necesitas ejecutar las pruebas de Active Record, puedes ejecutar:
$ bundle install --without db
2.7 Contribuir a Rails
Después de configurar todo, lee cómo puedes comenzar a contribuir.
Comentarios
Se te anima a ayudar a mejorar la calidad de esta guía.
Por favor, contribuye si encuentras algún error tipográfico o factual. Para empezar, puedes leer nuestra contribución a la documentación sección.
También puedes encontrar contenido incompleto o desactualizado. Por favor, añade cualquier documentación faltante para main. Asegúrate de revisar Edge Guides primero para verificar si los problemas ya están resueltos o no en la rama principal. Consulta las Directrices de las Guías de Ruby on Rails para el estilo y las convenciones.
Si por alguna razón encuentras algo que corregir pero no puedes solucionarlo tú mismo, por favor abre un problema.
Y por último, cualquier tipo de discusión sobre la documentación de Ruby on Rails es muy bienvenida en el Foro oficial de Ruby on Rails.