Я пытаюсь запустить gproc как зависимость внутри приложения, но это не удается:
{error,{not_started,gproc}}
Это мой файл app.src, который используется Rebar3 при компиляции:
{application, myapp,
[{description, "MyApp"},
{vsn, "0.1.0"},
{registered, []},
{mod, { my_app, []}},
{applications,
[kernel,
stdlib,
sasl,
gproc <--- Dependency, and is compiled with Rebar3
]},
{env,[]},
{modules, []},
{maintainers, []},
{licenses, []},
{links, []}
]}.
При запуске из шелла с application:start(gproc).
а потом application:start(myapp).
все прекрасно работает. Я не понимаю, почему...
Может быть, это из-за каких-то условий гонки?
Оболочка запускается командой:
erl -pa _build/default/lib/*/ebin -boot start_sasl -eval "application:start(myapp)"
Редактировать: При использовании rebar3 shell
все работает нормально, в чем отличие от команды оболочки, которую я использую?