As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Rubyem AL2023
Rubyruby3.2 ruby3.4 Ruby3.4 também fornece o binário com namespace MRI (Matz's Ruby Interpreter)ruby3.4-mri, que se refere à implementação de referência padrão baseada em C do. Ruby No entanto, apenas uma versão do Ruby pode estar ativa por vez. Essa versão ativa fornece os diretórios e nomes de arquivos padrão, como ruby, gem ou bundle, apontando-os para o tempo de execução atualmente ativo.
Isso é alcançado por meio dos recursos da ferramenta alternatives. É importante lembrar que os nomes dos executáveis padrão são virtuais e podem mudar a qualquer momento ao apontar para outra versão do Ruby instalada. Essa flexibilidade permite que o software que usa ruby in the shebang selecione a versão desejada quando invocado. No entanto, quando uma versão específica do Ruby é necessária, a persistência da versão pode ser alcançada chamando o executável com namespace (por exemplo, ruby3.2 ouruby3.4), que sempre usará a versão especificada do tempo de execução. Além disso, os executáveis com namespace das ferramentas gem e bundler, como,, ou ruby3.2-gem ruby3.4-gemruby3.2-bundler, estão sempre associados à Ruby versão correspondenteruby3.4-bundler, independentemente do tempo de execução ativo no momento.
Rubyé distribuído como vários pacotes com namespace que começam com "”. ruby{MAJOR.MINOR} Esses pacotes fornecem versões ruby compatíveis das ferramentas gem e bundler, documentação, bibliotecas e muito mais. Por exemplo, o tempo de execução principal do Ruby 3.2 é fornecido pelo ruby3.2 pacote, que extrai ruby3.2-rubygems (fornecendo gem) e ruby3.2-rubygem-bundler (fornecendo pacote e empacotador) como dependências.
Depois de instalar uma Ruby versão, as entradas das ferramentas complementares podem aparecer como nulas na configuração das alternativas. Isso pode ser verificado executandoalternatives --display ruby. Se as entradas aparecerem como nulas, elas deverão ser registradas manualmente usandoalternatives --install. Por exemplo, para registrar todas as ferramentas complementares para a Ruby versão 3.4:
sudo alternatives --install /usr/bin/gem gem /usr/bin/ruby3.4-gem 34 sudo alternatives --install /usr/bin/bundle bundle /usr/bin/ruby3.4-bundle 34 sudo alternatives --install /usr/bin/bundler bundler /usr/bin/ruby3.4-bundler 34 sudo alternatives --install /usr/bin/erb erb /usr/bin/ruby3.4-erb 34 sudo alternatives --install /usr/bin/racc racc /usr/bin/ruby3.4-racc 34 sudo alternatives --install /usr/bin/rdoc rdoc /usr/bin/ruby3.4-rdoc 34 sudo alternatives --install /usr/bin/ri ri /usr/bin/ruby3.4-ri 34
O valor da prioridade (por exemplo, 34 para Ruby 3,4, 32 para Ruby 3,2) deve corresponder à prioridade usada na entrada alternativa principal do ruby. Depois de registradas, as ferramentas complementares serão gerenciadas automaticamente junto com a alternativa ruby.
A ferramenta alternatives fornece um comando único para alternar entre versões do Ruby. Por padrão, alternatives é configurada para estar no modo automático, que usa prioridades para determinar a versão ativa do Ruby. No entanto, você pode ativar qualquer versão instalada quando quiser. No momento, todas as versões compatíveis do Ruby têm a mesma prioridade, o que significa que a primeira versão instalada será ativada automaticamente.
Exemplos úteis do uso de alternatives
-
Verifique para que alternatives está configurada.
alternatives --list -
Verifique a configuração atual do ruby
alternatives --display ruby -
Altere a versão do Ruby de forma interativa.
alternatives --config ruby -
Mude para o modo manual e selecione uma versão específica.
alternatives --set ruby /usr/bin/ruby{MAJOR.MINOR} -
Volte para o modo de seleção automática de versão.
alternatives --auto ruby