背景
我正在玩Phoenix LiveView,我已经设置了一个应用程序mix phx.new demo --live --no-ecto
。
我的主要目标是创建此应用程序的版本,以便我可以根据需要对其进行调整,但我遇到了麻烦。
问题
为了为我的演示应用程序创建一个版本,我遵循了Deploying with Releases教程并更改了所有必要的文件。
将以下内容添加到我的mix.exs
:
def project do
[
app: :demo,
version: "0.1.0",
elixir: "~> 1.7",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix, :gettext] ++ Mix.compilers(),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
releases: releases()
]
end
defp releases, do:
[
demo: [
applications: [demo: :permanent]
]
]
并正确更改了运行时配置中列出的文件:
https://hexdocs.pm/phoenix/releases.html#runtime-configuration
但是,当我执行时,_build/prod/rel/my_app/bin/demo start
什么也没有发生。如果我执行_build/prod/rel/my_app/bin/demo start_iex
,我会得到以下输出:
$ _build/prod/rel/demo/bin/demo start_iex
Erlang/OTP 22 [erts-10.6.4] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
*** ERROR: Shell process terminated! (^G to start new job) ***
Erlang/OTP 22 [erts-10.6.4] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
Interactive Elixir (1.11.3) - press Ctrl+C to exit (type h() ENTER for help)
iex>
这让我相信有什么东西崩溃了。
当我访问localhost:4000
它时,它说服务器已关闭。
问题
我究竟做错了什么?