2011-07-01 17 views
10

編輯:我找到了這個解決方案,你可以在我的回答下面看到它。如何更改Textmate使用的Ruby版本?

我使用TextMate的雪豹,並且已經安裝紅寶石1.9。問題是,由於某種原因,使用的TextMate 1.8.2紅寶石

但是當我使用IRB,或運行Ruby腳本爲外殼,採用紅寶石的正確版本(1.9)。

我如何配置的TextMate所以它使用1.9.2?

我一直在谷歌搜索,顯然你必須使用T_RUBY變量和textmate,並在OSX中設置一些環境變量,但到目前爲止,我找到的方法都沒有爲我工作。

可能有人給這個問題一步步解決方案?

更新:我已經嘗試過在TextMate中添加紅寶石二進制路徑TM_RUBY,我得到這個錯誤:

> Can't find 
> 「/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> 」 on PATH. Theme: The current PATH is: 
> /usr/bin /bin /usr/sbin /sbin Please 
> add the directory containing 
> 「/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> 」 to PATH in TextMate's Shell 
> Variables preferences. 
+0

它可以幫助**執行行(^ R)**新TextMate的文件中:'鍵入-a紅寶石&&回聲 「TM_RUBY = $ TM_RUBY」 &&回聲 「PATH = $ PATH」' – sam

回答

0

使用哪個紅寶石給我沒有工作的路徑。 Google搜索一段時間後,我找到了一個解決方案,使用rvm的auto-ruby路徑作爲TM_RUBY變量。 的路徑是: /Users/0al0/.rvm/bin/rvm-auto-ruby 這僅如果您使用當然RVM,適用。

7

根據喜好/高級/ shell變量,添加一個名爲TM_RUBY新的變量。並輸入你的ruby二進制文件的絕對路徑。

您可以通過打開一個終端和打字獲得後者:

which ruby 
+0

這沒有奏效......我收到以下錯誤(請參閱下一條評論) –

+0

找不到「/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby/ Users/myname /。 rvm/rubies/ruby​​-1.9.2-p180/bin/ruby​​ /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby「。 主題: 當前路徑是: 在/ usr/bin中 /bin中 /usr/sbin目錄 /sbin目錄 請添加包含「/Users/myname/.rvm/rubies/ruby-1.9.2-目錄p180/bin/ruby​​ /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 「到TextMate的Shell變量首選項中的PATH。 –

+1

@ 0al0這是不可讀的評論。請編輯您的原始問題,詳細說明您嘗試過的內容,執行測試的步驟以及獲得的錯誤。 – Phrogz

31

如果你使用RVM,也許你可以嘗試鍵入:

> which rvm-auto-ruby 
/Users/eddie/.rvm/bin/rvm-auto-ruby 

並將此路徑作爲一個shell變量名爲 「TM_RUBY」 在你的TextMate perferences像我的截圖

http://dl.dropbox.com/u/6931090/downloads/textmate-preferences.png

希望能幫到:)

+0

謝謝埃迪。我確實使用RVM,並且在我回家時嘗試這種方式 –

+0

歡迎:) –

+0

像魅力一樣工作 –

2

如果您使用which ruby和TextMate說exec: rbenv: not found,您需要輸入此代替:rbenv which ruby。在TM_RUBY中使用該路徑。

+0

如果你總是想使用當前的rbenv版本,我想你應該設置'TM_RUBY' ='/ usr/local/var/rbenv/shims/ruby​​'。 – sam

+0

或者你可以直接在'/ PATH'上附加'/ usr/local/var/rbenv/shims'。 – sam

4

該解決方案其實很簡單,不需要特殊的安裝程序。正如在TextMate blog中提到的那樣,您只需要告訴文本匹配您的路徑變量。 TextMate默認不會加載這些信息。在首選項,轉到變量選項卡中添加一個變量PATH(如果它不存在的話)與價值,$PATH:/usr/local/bin。這告訴TextMate複製系統PATH。該系統的紅寶石在/usr/bin/ruby,它包含在OSX默認路徑中。如果你安裝了一個自定義版本的紅寶石,那麼還附加了該路徑,例如在這裏我已附加/usr/local/bin(不要忘記冒號)。

Updating the PATH variable in TextMate2 preference pane