[英]Config variables not visible as environment variables in Heroku app
我設置了一些自定義配置變量。 我可以在應用程序的settings-> config變量中看到它們。 我還可以使用heroku config命令查看這些值。 但是,當我啟動應用程序時,環境變量不存在。 我在Clojure中使用(System / getenv“ MY_VARIABLE_NAME”)來獲取它們。
是因為我嘗試在引導時檢索它們嗎? 以后才有嗎? 還是有一些我可以通過做一些技巧擺脫的抽搐? 我之前在Heroku中使用過配置變量,但它們已經起作用了,我不知道這里出了什么問題...
我試圖從System / getenv的配置變量中檢索客戶端ID和用於Google進行oauth身份驗證的密碼。 我使用一個名為Friend的庫來做到這一點。 問題是,該庫中的oauth參數設置是通過宏完成的。 宏擴展發生在編譯時。 Heroku配置變量在編譯期間不可用作環境變量(有充分的理由)。 但是,可以通過文件系統使用它們,這是我解決該問題的方法。 所以代替:
(System/getenv "MY_APP_GOOGLE_CLIENT_ID")
我正在使用這個:
(slurp (str (System/getenv "ENV_DIR") "/" "MY_APP_GOOGLE_CLIENT_ID"))
而且有效!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.