Rails gem不使用环境变量

时间:2013-12-13 01:05:05

标签: ruby-on-rails ruby gem environment-variables

我创建了一个Rails gem和一个使用该gem的Rails应用程序。宝石部署在Gemfury,我成功地能够bundle install宝石。在gem中,我有一个设置为环境变量的变量。当我在本地运行我的应用程序时,应用程序中使用环境变量的位置能够读取我的环境变量(由Figaro管理),但gem无法。我可能会遗失或做错什么?

例如,如果我在gem中执行此操作:

 cache_enabled = ENV['CACHE_ENABLED'] || false

即使我的环境变量CACHE_ENABLED = true,它也会以false结尾。我的Rails应用程序读取环境变量没有问题。

我正在使用Rails 4,如果这有所不同。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Rails 4.1或更高版本,则可能Spring

您应该能够$ spring stop,然后正确运行您的应用程序(因为弹簧将使用新的环境变量重新启动)。

您可以按this永久删除弹簧。


作为旁注,我倾向于在本地使用Foreman(包括鲜为人知的foreman run)命令,如果你这样做,那么你可以将DISABLE_SPRING=1添加到你的.env每当你使用Foreman时,都会绕过s和Spring。