2013-04-11 40 views
0

我已經安裝了一堆最近與ruby相關的工具。 Macports ruby​​19(然後根據SO的建議卸載),然後安裝RVM和ruby-1.9.3-p。在「cd」中運行什麼工具並檢查.ruby_version文件?

現在我注意到,當我將cd甚至\cd收到一個消息到一個帶有.ruby-version文件的目錄中時,我沒有安裝匹配的ruby版本。這讓我瘋狂:執行此檢查的工具是什麼?

我可以看到rvm在我的環境中做的唯一事情是將〜/ .rvm/bin附加到我的路徑上。我在OS X Mountain Lion上運行「終端」。

編輯:是否有某種方法可以讓bash迴應從shell命令啓動的所有進程?

+2

我認爲rvm用shell函數覆蓋'cd'。嘗試'哪個cd' – hdgarrood 2013-04-11 10:50:30

+0

哪個cd給/ usr/bin/cd,還要注意\ cd給出了相同的行爲,所以它沒有被別名爲 – Bogatyr 2013-04-11 10:51:34

+0

相關:http://stackoverflow.com/questions/5605277/how-does-rvm - 當你改變了目錄 – fuzzyalej 2013-04-11 11:02:51

回答

2

cdRVM覆蓋。

.ruby-version是RVM/rbenv/chruby使用的「標準」,允許您切換到項目特定的Ruby。

您可以通過兩種方式解決這個問題:

  1. 使RVM安裝所有丟失的紅寶石:

    echo rvm_install_on_use_flag=1 >> ~/.rvmrc 
    
  2. 使RVM安裝Ruby對當前項目:

    rvm use . --install 
    
+0

ok我終於找到了它 - rvm在.bash_profile中放置一行,它將自己安裝到環境中,並且cd被替換爲一個函數。 – Bogatyr 2013-04-11 16:55:18

相關問題