RVM可以做的一件事是在您更改目录时寻找.rvmrc
,并根据该文件的内容更改当前的Ruby版本和gemset。只要您切换到该目录并相应地输出消息,它就会进行此更改。当您更改目录时,RVM如何检测?
它如何检测当前工作目录中的更改?我可以想象一个非常简单的方法:运行一个作为当前用户运行的守护进程,并不断检查pwd
的结果。但我肯定这不是它所做的。
另一种方法可能是别名cd
更改目录,还检查了.rvmrc
和改变gemsets如果是这样的指示。
是否有用于更改目录的Unix系统挂钩,或者是否存在RVM正在使用的其他一些技巧?
由于密码是每个进程,而不是每个用户,我不认为守护进程会工作。 – 2011-04-09 13:27:05
@TomAnderson绝对正确。我对这个概念感到困惑。 :) – 2015-03-23 14:17:59
顺便说一句,我现在使用chruby,并[已定制其目录监视行为以适合我在zsh中的使用情况](http://nathanmlong.com/2015/01/optimizing-chruby-for-zsh/) – 2015-03-23 14:19:08