Я установил Ruby и Rails, используя руководство, которое я нашел здесь: http://ryanbigg.com/2014/10/ubuntu-ruby-ruby-install-chruby-and-you/
Примечательно, что в этом руководстве используются сценарии ruby-install и chruby, позволяющие установить несколько версий Ruby. Система, на которой я ее установил, работает под управлением Ubuntu 12.04 LTS. Все в установке, казалось, прошло нормально.
Теперь я наблюдаю странное поведение, что все в установке ruby перестает работать, как только я покидаю свой homedir. Причина в том, что он теряет пути, добавленные chruby к переменной среды $ PATH. Вот расшифровка сеанса терминала, иллюстрирующая, как $ PATH меняется без видимой причины:
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:~$
Пока я остаюсь под своим homedir (/home/cecil или любые другие пути внутри него), все работает нормально, и $ PATH включает в себя соответствующие пути к выбранной версии Ruby, а Ruby прекрасно работает из командной строки. Как только я перехожу на любой другой каталог в системе, пути из Ruby удаляются из моего $ PATH, и ни один из исполняемых файлов Ruby не может быть доступен.
Я понятия не имею, что может привести к такому изменению моего $ PATH. Я даже не знаю, какие уродливые зацепки потребовались бы для того, чтобы переменные среды могли самопроизвольно изменяться таким образом. Это какая-то причудливость Чруби, которую я не понимаю? Что тут происходит?