Rails new --minimal

Dicas - 13/Dez/2020 - por André Kanamura

Desde que expuseram no Twitter algumas queixas sobre a complexidade de iniciar um projeto com Rails, especialmente para pessoas com pouca experiência, a comunidade começou a trabalhar em uma solução para facilitar a criação de aplicações Rails com menor quantidade de gems. Diferente de um bug, que normalmente representa o funcionamento incorreto de alguma funcionalidade, neste caso, a aplicação estava funcionando exatamente como esperado.

Toda vez que vamos começar uma nova aplicação com um rails new, a instalação padrão vem repleta de gems e dependências, o que pode tornar complicado o processo inicial de configuração para iniciantes. Em versões anteriores, para pular a instalação de determinadas extensões, seria necessário usar opções de --skip para cada elemento. Por exemplo, para pular a instalação do Active Storage e do Turbolinks, seria necessário rodar algo como rails new nome-da-app --skip-active-storage --skip-turbolinks, e incluir mais um --skip para cada outra funcionalidade...

A partir da versão 6.1, se quisermos criar uma aplicação somente com as dependências mínimas do Rails, podemos utilizar a opção --minimal:

rails new nome-do-projeto --minimal

Segue a lista de tudo que fica excluído quando rodamos esse comando:

  • skip_action_cable
  • skip_action_mailbox
  • skip_action_mailer
  • skip_action_text
  • skip_active_job
  • skip_active_storage
  • skip_bootsnap
  • skip_jbuilder
  • skip_spring
  • skip_system_tests
  • skip_turbolinks
  • skip_webpack
  • Sprockets deve conter diretórios JavaScript por padrão
  • rails new --minimal webpack=react funciona

Você pode ler mais sobre essa mudança do Rails aqui e nessa discussão que girou em torno dela.

Foto de perfil do autor
André Kanamura

Dev na Campus Code