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:
[email protected]
instalado (nãoopenssl@3
)- Ruby compilado com
[email protected]
- 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.