在config/test.exs
中,我有以下几行:
config :youli, Youli.Endpoint,
http: [port: System.get_env("PORT") || 4001
当我运行mix release
,解压缩版本,并使用PORT = 4242运行应用程序时,它会在端口4001上运行。稍微有点儿,我发现它在releases/0.0.3/sys.config
中以这种方式进行了硬编码。
如何让我的版本与环境中的端口集一起运行?
答案 0 :(得分:10)
而不是System.get_env("PORT")
,请使用{:system, "PORT"}
:
$ git diff
diff --git a/phoenix/config/test.exs b/phoenix/config/test.exs
index 10cea91..617f34c 100644
--- a/phoenix/config/test.exs
+++ b/phoenix/config/test.exs
@@ -1,7 +1,7 @@
use Mix.Config
config :youli, Youli.Endpoint,
- http: [port: System.get_env("PORT") || 4001]
+ http: [port: {:system, "PORT"}]
此文档位于Phoenix源代码中的lib/phoenix/endpoint.ex
。
答案 1 :(得分:0)
您可以使用{:system, "PORT"}
或System.get_env("PORT")
。