-
Notifications
You must be signed in to change notification settings - Fork 0
/
development_dependencies_install.html
425 lines (407 loc) · 33 KB
/
development_dependencies_install.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
<!doctype html>
<html dir="ltr" lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Instalación de Dependencias para el Desarrollo del Núcleo de Rails — Ruby on Rails Guides</title>
<link rel="stylesheet" type="text/css" href="stylesheets/style-v2.css" data-turbo-track="reload">
<link rel="stylesheet" type="text/css" href="stylesheets/print-v2.css" media="print">
<link rel="stylesheet" type="text/css" href="stylesheets/highlight-v2.css" data-turbo-track="reload">
<link rel="icon" href="images/favicon.ico" sizes="any">
<link rel="apple-touch-icon" href="images/icon.png">
<script src="javascripts/@hotwired--turbo.js" data-turbo-track="reload"></script>
<script src="javascripts/clipboard.js" data-turbo-track="reload"></script>
<script src="javascripts/guides.js" data-turbo-track="reload"></script>
<meta property="og:title" content="Instalación de Dependencias para el Desarrollo del Núcleo de Rails — Ruby on Rails Guides" />
<meta name="description" content="Instalación de Dependencias para el Desarrollo del Núcleo de RailsEsta guía cubre cómo configurar un entorno para el desarrollo del núcleo de Ruby on Rails.Después de leer esta guía, sabrás: Cómo configurar tu máquina para el desarrollo de Rails" />
<meta property="og:description" content="Instalación de Dependencias para el Desarrollo del Núcleo de RailsEsta guía cubre cómo configurar un entorno para el desarrollo del núcleo de Ruby on Rails.Después de leer esta guía, sabrás: Cómo configurar tu máquina para el desarrollo de Rails" />
<meta property="og:locale" content="en_US" />
<meta property="og:site_name" content="Ruby on Rails Guides" />
<meta property="og:image" content="https://avatars.githubusercontent.com/u/4223" />
<meta property="og:type" content="website" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:[email protected]&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Heebo:[email protected]&family=Noto+Sans+Arabic:[email protected]&display=swap" rel="stylesheet">
<meta name="theme-color" content="#C81418">
</head>
<body class="guide">
<nav id="topNav" aria-label="Secondary">
<div class="wrapper">
<strong class="more-info-label">Más en <a href="https://rubyonrails.org/">rubyonrails.org:</a> </strong>
<span class="red-button more-info-button">
Más Ruby on Rails
</span>
<ul class="more-info-links s-hidden">
<li class="more-info"><a href="https://rubyonrails.org/blog">Blog</a></li>
<li class="more-info"><a href="https://guides.rubyonrails.org/">Guías</a></li>
<li class="more-info"><a href="https://api.rubyonrails.org/">API</a></li>
<li class="more-info"><a href="https://discuss.rubyonrails.org/">Foro</a></li>
<li class="more-info"><a href="https://github.com/rails/rails">Contribuir en GitHub</a></li>
</ul>
</div>
</nav>
<header id="page_header">
<div class="wrapper clearfix">
<nav id="feature_nav">
<div class="header-logo">
<a href="index.html" title="Regresar a la página principal de Guías para Edge">Guías</a>
<span id="version_switcher">
Versión:
<select class="guides-version">
<option value="https://edgeguides.rubyonrails.org/" selected>Edge</option>
<option value="https://guides.rubyonrails.org/v7.2/">7.2</option>
<option value="https://guides.rubyonrails.org/v7.1/">7.1</option>
<option value="https://guides.rubyonrails.org/v7.0/">7.0</option>
<option value="https://guides.rubyonrails.org/v6.1/">6.1</option>
<option value="https://guides.rubyonrails.org/v6.0/">6.0</option>
<option value="https://guides.rubyonrails.org/v5.2/">5.2</option>
<option value="https://guides.rubyonrails.org/v5.1/">5.1</option>
<option value="https://guides.rubyonrails.org/v5.0/">5.0</option>
<option value="https://guides.rubyonrails.org/v4.2/">4.2</option>
<option value="https://guides.rubyonrails.org/v4.1/">4.1</option>
<option value="https://guides.rubyonrails.org/v4.0/">4.0</option>
<option value="https://guides.rubyonrails.org/v3.2/">3.2</option>
<option value="https://guides.rubyonrails.org/v3.1/">3.1</option>
<option value="https://guides.rubyonrails.org/v3.0/">3.0</option>
<option value="https://guides.rubyonrails.org/v2.3/">2.3</option>
</select>
</span>
</div>
<ul class="nav">
<li><a class="nav-item" id="home_nav" href="https://rubyonrails.org/">Inicio</a></li>
<li class="guides-index guides-index-large">
<a href="index.html" id="guidesMenu" class="guides-index-item nav-item">Índice de Guías</a>
<div id="guides" class="clearfix" style="display: none;">
<hr />
<dl class="guides-section-container">
<div class="guides-section">
<dt>Comienza Aquí</dt>
<dd><a href="getting_started.html">Primeros Pasos con Rails</a></dd>
</div>
<div class="guides-section">
<dt>Modelos</dt>
<dd><a href="active_record_basics.html">Conceptos Básicos de Active Record</a></dd>
<dd><a href="active_record_migrations.html">Migraciones de Active Record</a></dd>
<dd><a href="active_record_validations.html">Validaciones de Active Record</a></dd>
</div>
<div class="guides-section">
<dt>Vistas</dt>
<dd><a href="action_view_overview.html">Resumen de Action View</a></dd>
<dd><a href="layouts_and_rendering.html">Diseños y Renderizado en Rails</a></dd>
</div>
<div class="guides-section">
<dt>Controladores</dt>
<dd><a href="action_controller_overview.html">Resumen de Action Controller</a></dd>
<dd><a href="routing.html">Enrutamiento en Rails desde el Exterior</a></dd>
</div>
<div class="guides-section">
<dt>Otros Componentes</dt>
<dd><a href="active_support_core_extensions.html">Extensiones Básicas de Active Support</a></dd>
<dd><a href="action_mailer_basics.html">Conceptos Básicos de Action Mailer</a></dd>
<dd><a href="action_mailbox_basics.html">Conceptos Básicos de Action Mailbox</a></dd>
<dd><a href="action_text_overview.html">Resumen de Action Text</a></dd>
<dd><a href="active_job_basics.html">Conceptos Básicos de Active Job</a></dd>
</div>
<div class="guides-section">
<dt>Políticas</dt>
<dd><a href="maintenance_policy.html">Política de Mantenimiento</a></dd>
</div>
<div class="guides-section">
<dt>Notas de Lanzamiento</dt>
<dd><a href="upgrading_ruby_on_rails.html">Actualizando Ruby on Rails</a></dd>
<dd><a href="7_2_release_notes.html">Versión 7.2 - ?</a></dd>
<dd><a href="7_1_release_notes.html">Versión 7.1 - Octubre 2023</a></dd>
<dd><a href="7_0_release_notes.html">Versión 7.0 - Diciembre 2021</a></dd>
<dd><a href="6_1_release_notes.html">Versión 6.1 - Diciembre 2020</a></dd>
</div>
</dl>
</div>
</li>
<li><a class="nav-item" href="contributing_to_ruby_on_rails.html">Contribuir</a></li>
<li class="guides-index guides-index-small">
<select class="guides-index-item nav-item">
<option value="index.html">Índice de Guías</option>
<optgroup label="Comienza Aquí">
<option value="getting_started.html">Primeros Pasos con Rails</option>
</optgroup>
<optgroup label="Modelos">
<option value="active_record_basics.html">Conceptos Básicos de Active Record</option>
<option value="active_record_migrations.html">Migraciones de Active Record</option>
<option value="active_record_validations.html">Validaciones de Active Record</option>
</optgroup>
<optgroup label="Vistas">
<option value="action_view_overview.html">Resumen de Action View</option>
<option value="layouts_and_rendering.html">Diseños y Renderizado en Rails</option>
</optgroup>
<optgroup label="Controladores">
<option value="action_controller_overview.html">Resumen de Action Controller</option>
<option value="routing.html">Enrutamiento en Rails desde el Exterior</option>
</optgroup>
<optgroup label="Otros Componentes">
<option value="active_support_core_extensions.html">Extensiones Básicas de Active Support</option>
<option value="action_mailer_basics.html">Conceptos Básicos de Action Mailer</option>
<option value="action_mailbox_basics.html">Conceptos Básicos de Action Mailbox</option>
<option value="action_text_overview.html">Resumen de Action Text</option>
<option value="active_job_basics.html">Conceptos Básicos de Active Job</option>
</optgroup>
<optgroup label="Políticas">
<option value="maintenance_policy.html">Política de Mantenimiento</option>
</optgroup>
<optgroup label="Notas de Lanzamiento">
<option value="upgrading_ruby_on_rails.html">Actualizando Ruby on Rails</option>
<option value="7_2_release_notes.html">Versión 7.2 - ?</option>
<option value="7_1_release_notes.html">Versión 7.1 - Octubre 2023</option>
<option value="7_0_release_notes.html">Versión 7.0 - Diciembre 2021</option>
<option value="6_1_release_notes.html">Versión 6.1 - Diciembre 2020</option>
</optgroup>
</select>
</li>
</ul>
</nav>
</div>
</header>
<hr class="hide" />
<section id="feature">
<div class="wrapper">
<h1>Instalación de Dependencias para el Desarrollo del Núcleo de Rails</h1><p>Esta guía cubre cómo configurar un entorno para el desarrollo del núcleo de Ruby on Rails.</p><p>Después de leer esta guía, sabrás:</p>
<ul>
<li>Cómo configurar tu máquina para el desarrollo de Rails</li>
</ul>
<nav id="subCol">
<h3 class="chapter">
<picture>
<!-- Using the `source` HTML tag to set the dark theme image -->
<source
srcset="images/icon_book-close-bookmark-1-wht.svg"
media="(prefers-color-scheme: dark)"
/>
<img src="images/icon_book-close-bookmark-1.svg" alt="Chapter Icon" />
</picture>
Chapters
</h3>
<ol class="chapters">
<li><a href="#otras-formas-de-configurar-tu-entorno">Otras Formas de Configurar Tu Entorno</a></li>
<li><a href="#desarrollo-local">Desarrollo Local</a>
<ul>
<li><a href="#instalar-git">Instalar Git</a></li>
<li><a href="#clonar-el-repositorio-de-ruby-on-rails">Clonar el Repositorio de Ruby on Rails</a></li>
<li><a href="#instalar-herramientas-y-servicios-adicionales">Instalar Herramientas y Servicios Adicionales</a></li>
<li><a href="#configuración-de-la-base-de-datos">Configuración de la Base de Datos</a></li>
<li><a href="#instalar-dependencias-de-javascript">Instalar Dependencias de JavaScript</a></li>
<li><a href="#instalación-de-dependencias-de-gemas">Instalación de Dependencias de Gemas</a></li>
<li><a href="#contribuir-a-rails">Contribuir a Rails</a></li>
</ul></li>
</ol>
</nav>
<hr>
</div>
</section>
<main id="container">
<div class="wrapper">
<div id="mainCol">
<h2 id="otras-formas-de-configurar-tu-entorno"><a class="anchorlink" href="#otras-formas-de-configurar-tu-entorno"><span>1</span> Otras Formas de Configurar Tu Entorno</a></h2><p>Si no deseas configurar Rails para el desarrollo en tu máquina local, puedes usar Codespaces, el Plugin Remoto de VS Code, o rails-dev-box. Aprende más sobre estas opciones <a href="contributing_to_ruby_on_rails.html#setting-up-a-development-environment">aquí</a>.</p><h2 id="desarrollo-local"><a class="anchorlink" href="#desarrollo-local"><span>2</span> Desarrollo Local</a></h2><p>Si deseas desarrollar Ruby on Rails localmente en tu máquina, consulta los pasos a continuación.</p><h3 id="instalar-git"><a class="anchorlink" href="#instalar-git"><span>2.1</span> Instalar Git</a></h3><p>Ruby on Rails utiliza Git para el control del código fuente. La <a href="https://git-scm.com/">página principal de Git</a> tiene instrucciones de instalación. Hay una variedad de recursos en línea que te ayudarán a familiarizarte con Git.</p><h3 id="clonar-el-repositorio-de-ruby-on-rails"><a class="anchorlink" href="#clonar-el-repositorio-de-ruby-on-rails"><span>2.2</span> Clonar el Repositorio de Ruby on Rails</a></h3><p>Navega a la carpeta donde deseas descargar el código fuente de Ruby on Rails (creará su propio subdirectorio <code>rails</code>) y ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">git </span>clone https://github.com/rails/rails.git
<span class="gp">$</span><span class="w"> </span><span class="nb">cd rails</span>
</code></pre>
<button class="clipboard-button" data-clipboard-text="git clone https://github.com/rails/rails.git
cd rails
">Copy</button>
</div>
<h3 id="instalar-herramientas-y-servicios-adicionales"><a class="anchorlink" href="#instalar-herramientas-y-servicios-adicionales"><span>2.3</span> Instalar Herramientas y Servicios Adicionales</a></h3><p>Algunas pruebas de Rails dependen de herramientas adicionales que necesitas instalar antes de ejecutar esas pruebas específicas.</p><p>Aquí está la lista de dependencias adicionales de cada gema:</p>
<ul>
<li>Action Cable depende de Redis</li>
<li>Active Record depende de SQLite3, MySQL y PostgreSQL</li>
<li>Active Storage depende de Yarn (además Yarn depende de
<a href="https://nodejs.org/">Node.js</a>), ImageMagick, libvips, FFmpeg, muPDF,
Poppler, y en macOS también XQuartz.</li>
<li>Active Support depende de memcached y Redis</li>
<li>Railties dependen de un entorno de ejecución de JavaScript, como tener
<a href="https://nodejs.org/">Node.js</a> instalado.</li>
</ul>
<p>Instala todos los servicios que necesitas para probar adecuadamente la gema completa a la que realizarás cambios. Cómo instalar estos servicios para macOS, Ubuntu, Fedora/CentOS, Arch Linux y FreeBSD se detalla a continuación.</p><p>NOTA: La documentación de Redis desaconseja las instalaciones con gestores de paquetes ya que suelen estar desactualizadas. Instalar desde el código fuente y poner en marcha el servidor es sencillo y está bien documentado en la <a href="https://redis.io/download#installation">documentación de Redis</a>.</p><p>NOTA: Las pruebas de Active Record <em>deben</em> pasar al menos para MySQL, PostgreSQL y SQLite3. Tu parche será rechazado si se prueba contra un solo adaptador, a menos que el cambio y las pruebas sean específicos del adaptador.</p><p>A continuación puedes encontrar instrucciones sobre cómo instalar todas las herramientas adicionales para diferentes sistemas operativos.</p><h4 id="macos"><a class="anchorlink" href="#macos"><span>2.3.1</span> macOS</a></h4><p>En macOS puedes usar <a href="https://brew.sh/">Homebrew</a> para instalar todas las
herramientas adicionales.</p><p>Para instalar todo ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">brew bundle</span>
</code></pre>
<button class="clipboard-button" data-clipboard-text="brew bundle
">Copy</button>
</div>
<p>También necesitarás iniciar cada uno de los servicios instalados. Para listar todos
los servicios disponibles ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">brew </span>services list
</code></pre>
<button class="clipboard-button" data-clipboard-text="brew services list
">Copy</button>
</div>
<p>Luego puedes iniciar cada uno de los servicios uno por uno de esta manera:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">brew </span>services start mysql
</code></pre>
<button class="clipboard-button" data-clipboard-text="brew services start mysql
">Copy</button>
</div>
<p>Reemplaza <code>mysql</code> con el nombre del servicio que deseas iniciar.</p><h4 id="ubuntu"><a class="anchorlink" href="#ubuntu"><span>2.3.2</span> Ubuntu</a></h4><p>Para instalar todo ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt-get update
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt-get <span class="nb">install sqlite3 </span>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
<span class="go">
</span><span class="gp">#</span><span class="w"> </span>Instalar Yarn
<span class="gp">#</span><span class="w"> </span>Usa este comando si no tienes instalado Node.js
<span class="gp">#</span><span class="w"> </span>ref: https://github.com/nodesource/distributions#installation-instructions
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo mkdir</span> <span class="nt">-p</span> /etc/apt/keyrings
<span class="gp">$</span><span class="w"> </span>curl <span class="nt">--fail</span> <span class="nt">--silent</span> <span class="nt">--show-error</span> <span class="nt">--location</span> https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | <span class="nb">sudo </span>gpg <span class="nt">--dearmor</span> <span class="nt">-o</span> /etc/apt/keyrings/nodesource.gpg
<span class="gp">$</span><span class="w"> </span><span class="nb">echo</span> <span class="s2">"deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main"</span> | <span class="nb">sudo tee</span> /etc/apt/sources.list.d/nodesource.list
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt-get update
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt-get <span class="nb">install</span> <span class="nt">-y</span> nodejs
<span class="go">
</span><span class="gp">#</span><span class="w"> </span>Una vez que hayas instalado Node.js, instala el paquete npm de <span class="nb">yarn</span>
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>npm <span class="nb">install</span> <span class="nt">--global</span> <span class="nb">yarn</span>
</code></pre>
<button class="clipboard-button" data-clipboard-text="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
sudo mkdir -p /etc/apt/keyrings
curl --fail --silent --show-error --location https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install -y nodejs
sudo npm install --global yarn
">Copy</button>
</div>
<h4 id="fedora-o-centos"><a class="anchorlink" href="#fedora-o-centos"><span>2.3.3</span> Fedora o CentOS</a></h4><p>Para instalar todo ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>dnf <span class="nb">install </span>sqlite-devel sqlite-libs mysql-server mysql-devel postgresql-server postgresql-devel redis memcached ImageMagick ffmpeg mupdf libxml2-devel vips poppler-utils
<span class="go">
</span><span class="gp">#</span><span class="w"> </span>Instalar Yarn
<span class="gp">#</span><span class="w"> </span>Usa este comando si no tienes instalado Node.js
<span class="gp">#</span><span class="w"> </span>ref: https://github.com/nodesource/distributions#installation-instructions-1
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>dnf <span class="nb">install </span>https://rpm.nodesource.com/pub_20/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm <span class="nt">-y</span>
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>dnf <span class="nb">install </span>nodejs <span class="nt">-y</span> <span class="nt">--setopt</span><span class="o">=</span>nodesource-nodejs.module_hotfixes<span class="o">=</span>1
<span class="go">
</span><span class="gp">#</span><span class="w"> </span>Una vez que hayas instalado Node.js, instala el paquete npm de <span class="nb">yarn</span>
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>npm <span class="nb">install</span> <span class="nt">--global</span> <span class="nb">yarn</span>
</code></pre>
<button class="clipboard-button" data-clipboard-text="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
sudo dnf install https://rpm.nodesource.com/pub_20/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y
sudo dnf install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1
sudo npm install --global yarn
">Copy</button>
</div>
<h4 id="arch-linux"><a class="anchorlink" href="#arch-linux"><span>2.3.4</span> Arch Linux</a></h4><p>Para instalar todo ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>pacman <span class="nt">-S</span> sqlite mariadb libmariadbclient mariadb-clients postgresql postgresql-libs redis memcached imagemagick ffmpeg mupdf mupdf-tools poppler <span class="nb">yarn </span>libxml2 libvips poppler
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>mariadb-install-db <span class="nt">--user</span><span class="o">=</span>mysql <span class="nt">--basedir</span><span class="o">=</span>/usr <span class="nt">--datadir</span><span class="o">=</span>/var/lib/mysql
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>systemctl start redis mariadb memcached
</code></pre>
<button class="clipboard-button" data-clipboard-text="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
">Copy</button>
</div>
<p>NOTA: Si estás ejecutando Arch Linux, MySQL ya no es compatible, por lo que necesitarás
usar MariaDB en su lugar (ver <a href="https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/">este anuncio</a>).</p><h4 id="freebsd"><a class="anchorlink" href="#freebsd"><span>2.3.5</span> FreeBSD</a></h4><p>Para instalar todo ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>pkg <span class="nb">install sqlite3 </span>mysql80-client mysql80-server postgresql11-client postgresql11-server memcached imagemagick6 ffmpeg mupdf <span class="nb">yarn </span>libxml2 vips poppler-utils
<span class="gp">#</span><span class="w"> </span>portmaster databases/redis
</code></pre>
<button class="clipboard-button" data-clipboard-text="sudo pkg install sqlite3 mysql80-client mysql80-server postgresql11-client postgresql11-server memcached imagemagick6 ffmpeg mupdf yarn libxml2 vips poppler-utils
">Copy</button>
</div>
<p>O instala todo a través de ports (estos paquetes están ubicados en la
carpeta <code>databases</code>).</p><p>NOTA: Si encuentras problemas durante la instalación de MySQL, por favor consulta
<a href="https://dev.mysql.com/doc/refman/en/freebsd-installation.html">la documentación de MySQL</a>.</p><h4 id="debian"><a class="anchorlink" href="#debian"><span>2.3.6</span> Debian</a></h4><p>Para instalar todas las dependencias ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt-get <span class="nb">install sqlite3 </span>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
</code></pre>
<button class="clipboard-button" data-clipboard-text="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
">Copy</button>
</div>
<p>NOTA: Si estás ejecutando Debian, MariaDB es el servidor MySQL predeterminado, así que ten en cuenta que puede haber diferencias.</p><h3 id="configuración-de-la-base-de-datos"><a class="anchorlink" href="#configuración-de-la-base-de-datos"><span>2.4</span> Configuración de la Base de Datos</a></h3><p>Hay un par de pasos adicionales requeridos para configurar los motores de base de datos
necesarios para ejecutar pruebas de Active Record.</p><p>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:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo</span> <span class="nt">-u</span> postgres createuser <span class="nt">--superuser</span> <span class="nv">$USER</span>
</code></pre>
<button class="clipboard-button" data-clipboard-text="sudo -u postgres createuser --superuser $USER
">Copy</button>
</div>
<p>y para macOS:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span>createuser <span class="nt">--superuser</span> <span class="nv">$USER</span>
</code></pre>
<button class="clipboard-button" data-clipboard-text="createuser --superuser $USER
">Copy</button>
</div>
<p>NOTA: MySQL creará los usuarios cuando se creen las bases de datos. La tarea asume que tu usuario es <code>root</code> sin contraseña.</p><p>Luego, necesitas crear las bases de datos de prueba tanto para MySQL como para PostgreSQL con:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">cd </span>activerecord
<span class="gp">$</span><span class="w"> </span><span class="nb">bundle exec rake </span>db:create
</code></pre>
<button class="clipboard-button" data-clipboard-text="cd activerecord
bundle exec rake db:create
">Copy</button>
</div>
<p>También puedes crear bases de datos de prueba para cada motor de base de datos por separado:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">cd </span>activerecord
<span class="gp">$</span><span class="w"> </span><span class="nb">bundle exec rake </span>db:mysql:build
<span class="gp">$</span><span class="w"> </span><span class="nb">bundle exec rake </span>db:postgresql:build
</code></pre>
<button class="clipboard-button" data-clipboard-text="cd activerecord
bundle exec rake db:mysql:build
bundle exec rake db:postgresql:build
">Copy</button>
</div>
<p>y puedes eliminar las bases de datos usando:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">cd </span>activerecord
<span class="gp">$</span><span class="w"> </span><span class="nb">bundle exec rake </span>db:drop
</code></pre>
<button class="clipboard-button" data-clipboard-text="cd activerecord
bundle exec rake db:drop
">Copy</button>
</div>
<p>NOTA: Usar la tarea Rake para crear las bases de datos de prueba asegura que tengan el conjunto de caracteres y la intercalación correctos.</p><p>Si estás usando otra base de datos, verifica el archivo <code>activerecord/test/config.yml</code> o <code>activerecord/test/config.example.yml</code> para obtener información de conexión predeterminada. Puedes editar <code>activerecord/test/config.yml</code> para proporcionar credenciales diferentes en tu máquina, pero no debes enviar ninguno de esos cambios de vuelta a Rails.</p><h3 id="instalar-dependencias-de-javascript"><a class="anchorlink" href="#instalar-dependencias-de-javascript"><span>2.5</span> Instalar Dependencias de JavaScript</a></h3><p>Si instalaste Yarn, necesitarás instalar las dependencias de JavaScript:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">yarn install</span>
</code></pre>
<button class="clipboard-button" data-clipboard-text="yarn install
">Copy</button>
</div>
<h3 id="instalación-de-dependencias-de-gemas"><a class="anchorlink" href="#instalación-de-dependencias-de-gemas"><span>2.6</span> Instalación de Dependencias de Gemas</a></h3><p>Las gemas se instalan con <a href="https://bundler.io/">Bundler</a> que se incluye por defecto con Ruby.</p><p>Para instalar el Gemfile para Rails ejecuta:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">bundle install</span>
</code></pre>
<button class="clipboard-button" data-clipboard-text="bundle install
">Copy</button>
</div>
<p>Si no necesitas ejecutar pruebas de Active Record, puedes ejecutar:</p><div class="interstitial code">
<pre><code class="highlight console"><span class="gp">$</span><span class="w"> </span><span class="nb">bundle install</span> <span class="nt">--without</span> db
</code></pre>
<button class="clipboard-button" data-clipboard-text="bundle install --without db
">Copy</button>
</div>
<h3 id="contribuir-a-rails"><a class="anchorlink" href="#contribuir-a-rails"><span>2.7</span> Contribuir a Rails</a></h3><p>Después de haber configurado todo, lee cómo puedes comenzar a <a href="contributing_to_ruby_on_rails.html#running-an-application-against-your-local-branch">contribuir</a>.</p>
<hr>
<h3>Comentarios</h3>
<p>
Se te anima a ayudar a mejorar la calidad de esta guía.
</p>
<p>
Por favor contribuye si ves algún error tipográfico o errores fácticos.
Para comenzar, puedes leer nuestra sección de <a href="https://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#contributing-to-the-rails-documentation">contribuciones a la documentación</a>.
</p>
<p>
También puedes encontrar contenido incompleto o cosas que no están actualizadas.
Por favor agrega cualquier documentación faltante para main. Asegúrate de revisar
<a href="https://edgeguides.rubyonrails.org">Guías Edge</a> primero para verificar
si los problemas ya están resueltos o no en la rama principal.
Revisa las <a href="ruby_on_rails_guides_guidelines.html">Guías de Ruby on Rails</a>
para estilo y convenciones.
</p>
<p>
Si por alguna razón detectas algo que corregir pero no puedes hacerlo tú mismo, por favor
<a href="https://github.com/rails/rails/issues">abre un issue</a>.
</p>
<p>Y por último, pero no menos importante, cualquier tipo de discusión sobre la
documentación de Ruby on Rails es muy bienvenida en el <a href="https://discuss.rubyonrails.org/c/rubyonrails-docs">Foro oficial de Ruby on Rails</a>.
</p>
</div>
</div>
</main>
<hr class="hide" />
<footer id="page_footer">
<div class="wrapper">
<p>Este trabajo está bajo una <a href="https://creativecommons.org/licenses/by-sa/4.0/">Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional</a></p>
<p>"Rails", "Ruby on Rails" y el logotipo de Rails son marcas registradas de David Heinemeier Hansson. Todos los derechos reservados.</p>
<p> Esta traducción fue generada por openAi e <a href="http://latinadeveloper.com/">Isis Harris.</a></p>
</div>
</footer>
</body>
</html>