在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
中是这样硬编码的.
如何让我的版本使用环境中设置的端口运行?
代替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"}]
这方面的文档在凤凰城源代码中lib/phoenix/endpoint.ex
。
您可以使用
{:system, "PORT"}
或System.get_env("PORT")
。