A variável Ruby $ PATH do chruby muda sozinha quando o diretório de trabalho atual é alterado?

1

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?

    
por cecilkorik 17.02.2016 / 22:06

0 respostas