2014-07-22 165 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