RVM может замечать, когда вы меняете каталоги, ищите . rvmrc
, и измените текущую версию Ruby и гемсет в соответствии с содержимым этого файла. Он вносит это изменение, как только вы переходите в этот каталог, и выводит соответствующее сообщение.
Как он обнаруживает изменение в текущем рабочем каталоге? Я могу представить себе чрезвычайно грубый способ сделать это: запустить демон который запускается от имени текущего пользователя и продолжает проверять результаты pwd
. Но я уверен, что это не то, что он делает.
Другой подход может заключаться в использовании псевдонима cd
для изменения каталогов, а также проверки наличия .rvmrc
и изменения гемсетов, если это указано.
Есть ли в системе Unix ловушка для изменения каталогов, или есть какой-то другой трюк, который использует RVM?