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