Instalei o Ruby e o Rails usando um guia que encontrei aqui: link
Notavelmente, este guia usa scripts ruby-install e chruby para permitir a instalação de várias versões do Ruby a serem instaladas. O sistema que eu instalei está executando o Ubuntu 12.04 LTS. Tudo na instalação parecia ir bem.
Agora eu estou testemunhando um comportamento desconcertante que tudo sobre a instalação do ruby pára de funcionar assim que eu deixo meu homedir. O motivo é porque ele perde os caminhos que o chruby adicionou à variável de ambiente $ PATH. Aqui está uma transcrição de uma sessão de terminal ilustrando como o $ PATH está mudando sem nenhuma razão óbvia:
cecil@ifrit:~$ echo $PATH
/home/cecil/.gem/ruby/2.3.0/bin:/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/bin:/opt/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:~$ ls -dF .*
./ .bash_logout .bashrc .hg/ .lesshst .pip/ .psql_history .screenrc .ssh/ .vimrc
../ .bash_profile@ .cache/ .hgignore .local/ .procmailrc* .ruby-version .selected_editor .vim/ .w3m/
.bash_history .bash_profile.ubuntu .gnupg/ .hgrc .mysql_history .profile .sc_history .sqlite_history .viminfo .wakeup*
cecil@ifrit:~$ echo $PATH
/home/cecil/.gem/ruby/2.3.0/bin:/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/bin:/opt/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:~$ cd .local
cecil@ifrit:~/.local$ echo $PATH
/home/cecil/.gem/ruby/2.3.0/bin:/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/bin:/opt/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:~/.local$ cd /var
cecil@ifrit:/var$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:/var$ ls -dF .*
./ ../
cecil@ifrit:/var$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:/var$ cd ~
cecil@ifrit:~$ echo $PATH
/home/cecil/.gem/ruby/2.3.0/bin:/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/bin:/opt/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:~$
Desde que eu permaneça sob meu homedir (/ home / cecil ou qualquer caminho dentro dele) tudo funciona bem e $ PATH inclui os caminhos apropriados para a versão Ruby selecionada e Ruby funciona bem a partir da linha de comando. Assim que eu mudo para qualquer outro diretório no sistema, os caminhos Ruby são removidos do meu $ PATH e nenhum dos executáveis do Ruby pode ser acessado.
Não tenho ideia do que faria com que o meu $ PATH mudasse assim. Eu nem sei que tipo de ganchos feios seriam necessários para tornar possível que variáveis de ambiente mudem espontaneamente assim. Isso é um capricho de chruby que eu não entendo? O que está acontecendo aqui?