2014-07-22 127 views
2

我使用Sublime Text 2作爲我的Rails應用程序編輯器,並且有一個rspec測試套件,它直接通過使用Mandrill API。Sublime Text 2 - `Mandrill :: Error:您必須提供一個Mandrill API密鑰`

無論我現在嘗試發送,收到以下錯誤郵件:

Mandrill::Error: 
     You must provide a Mandrill API key 

如果我運行終端內這些測試中,他們通過。

將API密鑰設置爲我的.bash_profile中的環境變量。

有沒有辦法配置Sublime Text來使用這些變量?

+0

你在使用什麼操作系統,以及如何在Sublime中運行你的測試?如果是插件,請提供網址。 – MattDMo

+0

@MattDMo我正在使用Mac OSX 10.9.4。使用RubyTest:https://github.com/maltize/sublime-text-2-ruby-tests。同樣使用Zeus https://github.com/burke/zeus – Richbits

+0

這聽起來像是測試套件沒有被在'.bash_profile'中定義的環境變量調用。這通常是由非登錄shell中啓動的進程造成的。如果添加'puts ENV;插件會打印什麼?退出'在測試套件的頂部?另外,嘗試將插件運行的命令更改爲'source〜/ .bash_profile && {original command}'(不帶花括號) – Matt

回答

0

嘗試了這一點:

我認爲你正在尋找如何在崇高的文本設置環境變量?

所以有一個解決方案已經在stackoverflow。

sublime text how to set environment variable

+0

如果我不正確,請原諒我,但這似乎是設置Sublime Text中使用的變量,而不是由應用程序使用。 – Richbits

0

崇高文本架構是相當不錯的,並允許你實現自己的插件容易。

當Sublime Text開始時,它們會自動加載。因此,你可以寫在文本崇高ENV 設置這些變量自己的自定義插件:

# ~/Library/Application Support/Sublime Text 3/Packages/User/your_plugin.py 
import os 

os.environ['MANDRIL_API_PUBLIC'] = 'xxxxx' 
os.environ['MANDRIL_API_PRIVATE'] = 'xxxxx' 

有更多的資料一看here