edge
Mais em rubyonrails.org: Mais Ruby on Rails

Instalando as Dependências Principais de Desenvolvimento do Rails

Este guia aborda como configurar um ambiente para o desenvolvimento central do Ruby on Rails.

Após ler este guia, você saberá:

1 Outras Formas de Configurar seu Ambiente

Se você não quiser configurar o Rails para desenvolvimento em sua máquina local, você pode usar o Codespaces, o Plugin Remoto do VS Code ou o rails-dev-box. Saiba mais sobre essas opções aqui.

2 Desenvolvimento Local

Se você deseja desenvolver o Ruby on Rails localmente em sua máquina, siga as etapas abaixo.

2.1 Instale o Git

O Ruby on Rails usa o Git para controle de código-fonte. A página inicial do Git tem instruções de instalação. Existem várias fontes online que o ajudarão a se familiarizar com o Git.

2.2 Clone o Repositório do Ruby on Rails

Navegue até a pasta onde você deseja baixar o código-fonte do Ruby on Rails (ele criará seu próprio subdiretório rails) e execute:

$ git clone https://github.com/rails/rails.git
$ cd rails

2.3 Instale Ferramentas e Serviços Adicionais

Alguns testes do Rails dependem de ferramentas adicionais que você precisa instalar antes de executar esses testes específicos.

Aqui está a lista das dependências adicionais de cada gem:

  • Action Cable depende do Redis
  • Active Record depende do SQLite3, MySQL e PostgreSQL
  • Active Storage depende do Yarn (além disso, o Yarn depende do Node.js), ImageMagick, libvips, FFmpeg, muPDF, Poppler e no macOS também XQuartz.
  • Active Support depende do memcached e Redis
  • Railties depende de um ambiente de execução JavaScript, como ter o Node.js instalado.

Instale todos os serviços de que você precisa para testar corretamente a gem completa na qual você fará alterações. Abaixo estão detalhadas as instruções de como instalar esses serviços no macOS, Ubuntu, Fedora/CentOS, Arch Linux e FreeBSD.

NOTA: A documentação do Redis desencoraja instalações com gerenciadores de pacotes, pois geralmente estão desatualizados. A instalação a partir do código-fonte e a inicialização do servidor são diretas e bem documentadas na documentação do Redis.

NOTA: Os testes do Active Record devem passar pelo menos para o MySQL, PostgreSQL e SQLite3. Sua correção será rejeitada se testada apenas em um adaptador, a menos que a alteração e os testes sejam específicos do adaptador.

Abaixo você encontrará instruções sobre como instalar todas as ferramentas adicionais para diferentes sistemas operacionais.

2.3.1 macOS

No macOS, você pode usar o Homebrew para instalar todas as ferramentas adicionais.

Para instalar todas, execute:

$ brew bundle

Você também precisará iniciar cada um dos serviços instalados. Para listar todos os serviços disponíveis, execute:

$ brew services list

Você pode então iniciar cada um dos serviços um por um desta forma:

$ brew services start mysql

Substitua mysql pelo nome do serviço que você deseja iniciar.

2.3.1.1 Problemas Potenciais

Esta seção detalha alguns dos problemas potenciais que você pode encontrar com extensões nativas no macOS, especialmente ao agrupar a gema mysql2 no desenvolvimento local. Esta documentação está sujeita a alterações e pode estar incorreta à medida que a Apple faz alterações no ambiente de desenvolvimento no Rails.

Para compilar a gema mysql2 no macOS, você precisará do seguinte:

  1. [email protected] instalado (não openssl@3)
  2. Ruby compilado com [email protected]
  3. Definir flags do compilador no arquivo de configuração do bundle para mysql2.

Se tanto [email protected] quanto openssl@3 estiverem instalados, você precisará informar ao Ruby para usar [email protected] para que o Rails agrupe o mysql2.

No seu .bash_profile, defina o PATH e RUBY_CONFIGURE_OPTS para apontar para o [email protected]:

export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])"

No seu ~/.bundle/config, defina o seguinte para mysql2. Certifique-se de excluir quaisquer outras entradas 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"

Ao definir essas flags antes de instalar o Ruby e agrupar o Rails, você deve conseguir fazer seu ambiente de desenvolvimento local no macOS funcionar.

2.3.2 Ubuntu

Para instalar todas, execute:

$ 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

# Instale o Yarn
# Use este comando se você não tiver o 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
# Depois de instalar o Node.js, instale o pacote npm do yarn
$ sudo npm install --global yarn

2.3.3 Fedora ou CentOS

Para instalar tudo, execute:

$ 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 o Yarn
# Use este comando se você não tiver o Node.js instalado
$ curl --silent --location https://rpm.nodesource.com/setup_18.x | sudo bash -
$ sudo dnf install -y nodejs
# Depois de instalar o Node.js, instale o pacote npm do yarn
$ sudo npm install --global yarn

2.3.4 Arch Linux

Para instalar tudo, execute:

$ 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: Se você estiver executando o Arch Linux, o MySQL não é mais suportado, então você precisará usar o MariaDB em vez disso (veja este anúncio).

2.3.5 FreeBSD

Para instalar tudo, execute:

$ sudo pkg install sqlite3 mysql80-client mysql80-server postgresql11-client postgresql11-server memcached imagemagick6 ffmpeg mupdf yarn libxml2 vips poppler-utils
# portmaster databases/redis

Ou instale tudo através das portas (esses pacotes estão localizados na pasta databases).

NOTA: Se você encontrar problemas durante a instalação do MySQL, consulte a documentação do MySQL.

2.3.6 Debian

Para instalar todas as dependências, execute:

$ 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: Se você estiver executando o Debian, o MariaDB é o servidor MySQL padrão, portanto, esteja ciente de que pode haver diferenças.

2.4 Configuração do Banco de Dados

Existem algumas etapas adicionais necessárias para configurar os motores de banco de dados necessários para executar os testes do Active Record.

A autenticação do PostgreSQL funciona de forma diferente. Para configurar o ambiente de desenvolvimento com sua conta de desenvolvimento, no Linux ou BSD, basta executar:

$ sudo -u postgres createuser --superuser $USER

e no macOS:

$ createuser --superuser $USER

NOTA: O MySQL criará os usuários quando os bancos de dados forem criados. A tarefa assume que seu usuário é root sem senha.

Em seguida, você precisa criar os bancos de dados de teste tanto para o MySQL quanto para o PostgreSQL com:

$ cd activerecord
$ bundle exec rake db:create

Você também pode criar bancos de dados de teste para cada mecanismo de banco de dados separadamente:

$ cd activerecord
$ bundle exec rake db:mysql:build
$ bundle exec rake db:postgresql:build

e você pode excluir os bancos de dados usando:

$ cd activerecord
$ bundle exec rake db:drop

NOTA: Usar a tarefa Rake para criar os bancos de dados de teste garante que eles tenham o conjunto de caracteres e a ordenação corretos.

Se você estiver usando outro banco de dados, verifique o arquivo activerecord/test/config.yml ou activerecord/test/config.example.yml para obter informações de conexão padrão. Você pode editar activerecord/test/config.yml para fornecer credenciais diferentes em sua máquina, mas não deve enviar nenhuma dessas alterações de volta para o Rails.

2.5 Instalar Dependências JavaScript

Se você instalou o Yarn, precisará instalar as dependências JavaScript:

$ yarn install

2.6 Instalando Dependências Gem

As gems são instaladas com o Bundler, que é fornecido por padrão com o Ruby.

Para instalar o Gemfile para o Rails, execute:

$ bundle install

Se você não precisa executar os testes do Active Record, pode executar:

$ bundle install --without db

2.7 Contribuir para o Rails

Depois de configurar tudo, leia como você pode começar a contribuir.

Feedback

Você é incentivado a ajudar a melhorar a qualidade deste guia.

Por favor, contribua se encontrar algum erro de digitação ou factual. Para começar, você pode ler nossa contribuição à documentação seção.

Você também pode encontrar conteúdo incompleto ou desatualizado. Por favor, adicione qualquer documentação ausente para o principal. Certifique-se de verificar Guias Edge primeiro para verificar se os problemas já foram corrigidos ou não no branch principal. Verifique as Diretrizes dos Guias do Ruby on Rails para estilo e convenções.

Se por algum motivo você encontrar algo para corrigir, mas não puder corrigi-lo você mesmo, por favor abra uma issue.

E por último, mas não menos importante, qualquer tipo de discussão sobre a documentação do Ruby on Rails é muito bem-vinda no Fórum oficial do Ruby on Rails.