ENPT

Configurando o Rails com chruby e ruby-install

Nota: Veja a versão atualizada deste post: Instalando o Ruby com chruby e ruby-install.

Aqui estão os passos para instalar e configurar o Ruby e o Ruby on Rails no macOS usando chruby e ruby-install. Ambas são ferramentas muito leves, escritas por Hal Brodigan. Uma abordagem semelhante também pode ser usada no Linux ou no Windows/WSL.

Configuração

Vamos começar instalando o Homebrew. Siga as instruções oficiais de instalação no site deles.

Com isso pronto, podemos agora obter o chruby e o ruby-install.

brew install chruby
brew install ruby-install

Para que o chruby funcione corretamente, adicione as seguintes linhas ao seu arquivo ~/.zshrc.

source "$(brew --prefix)/opt/chruby/share/chruby/chruby.sh"
source "$(brew --prefix)/opt/chruby/share/chruby/auto.sh"

Usar $(brew --prefix) mantém isso funcionando tanto no Apple Silicon (/opt/homebrew) quanto no Intel (/usr/local).

Usando o ruby-install

Em resumo, o ruby-install é uma forma fácil de instalar diversos sabores de Ruby que existem por aí: Ruby, JRuby, Rubinius, TruffleRuby (nativo / GraalVM) ou mruby. Para obter a versão estável atual da distribuição original do Ruby (MRI), basta executar o seguinte comando.

ruby-install --update ruby

E para instalar uma versão específica (exemplo):

ruby-install ruby 3.3.6

Pode ser necessário executar source ~/.zshrc para torná-lo visível ao chruby sem reiniciar a sessão do terminal. Para mais informações e outras opções, consulte o README.

Usando o chruby

Agora que temos diferentes versões do Ruby instaladas, é aqui que a mágica acontece! O chruby é uma ferramenta muito simples, porém poderosa, escrita em cerca de 100 linhas de código, e pode alternar automaticamente entre versões do Ruby dependendo da pasta em que você está.

Para listar as versões instaladas, basta executar:

$ chruby
   ruby-3.2.4
 * ruby-3.3.6

Observe que a versão atual do Ruby tem um * ao lado. Para alternar para uma versão diferente, basta executar:

chruby ruby-3.2.4

Esteja ciente de que o chruby NÃO listará a versão que vem com o macOS. Para alternar para ela, podemos executar:

chruby system

Alternando automaticamente

Se entrarmos em uma pasta que contém um arquivo chamado .ruby-version, o chruby alternará automaticamente nossa versão atual para a especificada dentro desse arquivo. Se quisermos mudar a versão padrão, podemos adicioná-la ao nosso diretório home, assim.

echo "ruby-3.3.6" > ~/.ruby-version

Instalando o Rails

Dependendo da versão do Rails e da configuração escolhida, você também pode precisar do Node.js e, às vezes, do Yarn (por exemplo, ao usar ferramentas JavaScript/CSS que dependem deles).

Se necessário, instale-os com o brew:

brew install node yarn

Agora, tudo o que precisamos fazer é instalar o Rails via RubyGems.

gem install rails

Verifique sua configuração

Confira cada comando individualmente e compare com saídas semelhantes a estas:

$ ruby -v
ruby 3.3.6p108 (2024-11-05 revision 1234567) [arm64-darwin23]
$ which ruby
/Users/your-user/.rubies/ruby-3.3.6/bin/ruby
$ gem -v
3.5.22
$ rails -v
Rails 7.2.2.1
$ chruby
   ruby-3.2.4
 * ruby-3.3.6

Se depois de instalar o Rails você não o encontrar no seu PATH (command not found), tente executar source ~/.zshrc mais uma vez para atualizar seu ambiente.

Nota: como a gem é por instalação do Ruby, ela só estará disponível para a versão do Ruby que você tinha selecionado naquele momento.