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