簡體   English   中英

配置變量在Heroku應用中不可視為環境變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM