Erlang 将GProc作为依赖项启动

Erlang 将GProc作为依赖项启动,erlang,rebar3,Erlang,Rebar3,我正试图在应用程序内部启动gproc作为一个依赖项,但失败的原因是: {error,{not_started,gproc}} 这是我的app.src文件,Rebar3在编译时使用该文件: {application, myapp, [{description, "MyApp"}, {vsn, "0.1.0"}, {registered, []}, {mod, { my_app, []}}, {applications, [kernel, stdlib, s

我正试图在应用程序内部启动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, []}
 ]}.
Edit:当使用
rebar3 shell时,一切正常,与我使用的shell命令有什么区别?

使用

application:ensure_all_started(myapp).
普通的
start
仅尝试启动请求的应用程序,仅验证依赖项是否已在运行

文件:

  • :

    启动应用程序。如果未加载,应用程序控制器首先使用load/1加载它。它确保加载任何包含的应用程序,但不会启动它们。假设在应用程序代码中考虑了这一点

  • :

    相当于对应用程序尚未启动的所有依赖项重复调用start/1,2


谢谢!在文档中很难找到这个。如果有人想查一下:
application:ensure_all_started(myapp).