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.