Prefácio O RVM (Ruby Version Manager) pode ser a melhor alternativa a longo prazo.
Eu acredito que conheço o seu cenário porque eu já estive lá antes quando usei o Ubuntu 12.04. Antes de qualquer coisa, depois de passar por esses bastidores, aprendi que a melhor maneira de gerenciar Ruby em um sistema é usar o RVM (Ruby Version Manager) . Não faz parte da configuração oficial do gerenciador de pacotes Ubuntu / Debian, mas se você levar a sério o desenvolvimento do Ruby, o RVM é a melhor maneira de configurar e usar múltiplas versões do Ruby sem conflitos.
Mas se você simplesmente estiver usando o Ruby 1.9.1 e quiser que ele seja reconhecido como a versão padrão do Ruby, faça o seguinte.
Dito isso, se você estiver em uma configuração em que o RVM não atenda às suas necessidades ou se preferir ficar no Ruby 1.9.1, continue lendo ...
Suponho que você instalou o Ruby 1.8 por meio do repositório padrão no Ubuntu 12.04 e, em seguida, após o fato, percebeu que precisava do Ruby 1.9.1, portanto, instalou-o por meio de um comando como este:
sudo aptitude install ruby1.9.1 ruby1.9.1-dev \
rubygems1.9.1 irb1.9.1 ri1.9.1 rdoc1.9.1 \
build-essential libopenssl-ruby1.9.1 \
libssl-dev zlib1g-dev
Bem, isso irá colocar o Ruby 1.9.1 instalado no seu sistema, mas não fará do Ruby 1.9.1 o padrão. A chave para obter este conjunto é usar update-alternatives
e como oficial A página man update-alternatives
explica:
It is possible for several programs fulfilling the same or similar functions to be installed on a single system at the same time. For example, many systems have several text editors installed at once. This gives choice to the users of a system, allowing each to use a different editor, if desired, but makes it difficult for a program to make a good choice for an editor to invoke if the user has not specified a particular preference.
Debian’s alternatives system aims to solve this problem. A generic name in the filesystem is shared by all files providing interchangeable functionality. The alternatives system and the system administrator together determine which actual file is referenced by this generic name.
Portanto, neste caso, há três etapas que você precisa executar para obter o Ruby 1.9.1 corretamente reconhecido como o padrão Ruby no sistema.
Primeiro, execute este comando:
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 400 \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz \
/usr/share/man/man1/ruby1.9.1.1.gz \
--slave /usr/bin/ri ri /usr/bin/ri1.9.1 \
--slave /usr/bin/irb irb /usr/bin/irb1.9.1 \
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.1
Em seguida, execute update-alternatives
novamente para escolher seu interpretador Ruby. Isso também altera os links simbólicos para itens principais do Ruby:
sudo update-alternatives --config ruby
Faça sua seleção e, em seguida, vá para o update-alternatives
dos GEMs Ruby relacionados:
sudo update-alternatives --config gem
Finalmente, confirme que a versão do Ruby foi atualizada assim:
ruby --version