Rubyem AL2023 - Amazon Linux 2023

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

Rubyin AL2023 é representado pelas versões 3.2 e 3.4. O Amazon Linux segue o cronograma de suporte upstream e o status de suporte de qualquer Ruby versão sempre pode ser verificado no site do Ruby. Todas as versões do Ruby compatíveis têm namespace e podem ser instaladas no mesmo sistema simultaneamente. A implantação de namespaces garante que cada instalação do Ruby seja exclusiva no sistema de arquivos. Isso é feito renomeando os principais diretórios e arquivos com base na versão de runtime. Os nomes reais dos executáveis serão parecidos com ruby {MAJOR.MINOR} (por exemplo, ou). ruby3.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
  1. Verifique para que alternatives está configurada.

    alternatives --list
  2. Verifique a configuração atual do ruby

    alternatives --display ruby
  3. Altere a versão do Ruby de forma interativa.

    alternatives --config ruby
  4. Mude para o modo manual e selecione uma versão específica.

    alternatives --set ruby /usr/bin/ruby{MAJOR.MINOR}
  5. Volte para o modo de seleção automática de versão.

    alternatives --auto ruby