【发布时间】:2014-08-08 14:42:05
【问题描述】:
我设置了一些自定义配置变量。我可以在我的应用程序的设置-> 配置变量中看到它们。我还可以使用 heroku config 命令查看这些值。但是当我启动我的应用程序时,环境变量不存在。我在 Clojure 中使用 (System/getenv "MY_VARIABLE_NAME") 来获取它们。
是因为我尝试在启动时检索它们吗?它们只能在以后使用吗?或者是否有一些抽搐可以通过一些技巧来摆脱?我之前在 Heroku 中使用过配置变量并且它们已经工作了,我不知道这里有什么问题......
【问题讨论】:
-
检查 (System/getenv) 到日志或调试页面的输出可能会有所帮助,以查看是否还有其他内容。环境变量肯定应该在启动时存在,它们不会在以后注入。
-
没有一个配置变量是通过 getenv 实现的。我把它们都打印出来了,它们都是零。
-
我更想知道是否有任何其他 heroku 定义的环境变量通过使用不带参数的 System/getenv 来实现,因此它列出了包括 $USER 和 $PATH 在内的所有内容。
-
好点!刚刚测试:用户和路径通过。
-
如果你有机会部署一个读取环境的不同应用程序,听起来更像是你的 heroku 环境变量没有被设置,而不是 clojure 的问题。通过提交不同的应用程序,您可以验证这不是应用程序错误,并且绝对是 Heroku / 配置问题。
标签: heroku clojure environment-variables config