Фон
Я создаю выпуск зонтичного приложения через mix release
. Однако, хотя я могу запустить приложение вручную, при его запуске возникают некоторые ошибки.
mix release
Я пытаюсь запустить приложение с mix release
. Эта команда отлично работает и создает исполняемый файл в _build/prod/rel/my_app/bin/my_app
. Я могу запустить этот исполняемый файл с помощью команды start
, и все работает нормально.
Однако, если вместо start
я использую start_iex
, я сначала получаю сообщение об ошибке, а затем приложение работает нормально:
$ _build/prod/rel/my_app/bin/my_app start_iex
Erlang/OTP 22 [erts-10.5] [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.5] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
my_app
- это зонтичное приложение. Вот mix.exs
содержимое зонтичного приложения:
defmodule MyApp.MixProject do
use Mix.Project
def project do
[
apps_path: "apps",
version: "0.1.0",
start_permanent: Mix.env() == :prod,
deps: deps(),
elixir: "~> 1.10",
releases: releases()
]
end
defp deps, do: []
defp releases, do:
[
my_app: [
applications: [
api: :permanent,
core: :permanent,
storage: :permanent
]
]
]
end
Вопрос
- Почему я получаю сообщение об ошибке при использовании
start_iex
, а не при использованииstart
? - Почему
start_iex
работает после ошибки?