System.get_env in dev.ex Elixir Phoenix
我试图在我的
1 2 3 | config :extractor, :mailgun, domain: System.get_env['MAILGUN_DOMAIN'], key: System.get_env['MAILGUN_KEY'] |
当我去
1 2 3 4 5 | def application do [mod: {Extractor, []}, applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext, :phoenix_ecto, :postgrex, :tzdata, :httpoison, :dotenv, :quantum]] end |
它没有指定任何环境。 它只是在应用程序列表中。
我也尝试过这种方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | def application do [mod: {Extractor, []}, applications: app_list(Mix.env)] end defp app_list(:dev), do: [:dotenv | app_list] defp app_list(:test), do: [:dotenv | app_list] defp app_list(_), do: app_list defp app_list, do: [ :phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext, :phoenix_ecto, :postgrex, :tzdata, :httpoison, :dotenv, :quantum ] |
但是没有运气......任何帮助?
我不认为你需要使用
试试这个并告诉我它是否适合你:
.ENV
1 2 | export MAILGUN_DOMAIN=mailgundomain.com ... |
并使用双引号而不是单引号。从Elixir的角度来看,'foo'和"foo"是两回事。
希望能帮助到你 !
查看https://github.com/avdi/dotenv_elixir上的警告并参考https://stackoverflow.com/a/20909045/111021,我在
1 2 | alias mix='env $([ -f .env ] && cat .env | xargs) mix' alias iex='env $([ -f .env ] && cat .env | xargs) iex' |
这适用于常见用例
警告:如果您使用类似
您应该使用双引号
1 2 3 4 5 | System.get_env["LOGNAME"] >"patnowak" System.get_env['LOGNAME'] > nil |