erlang 无法在rank_ssl:listen中启动牧场监听程序https_listener,原因是在Linux上出现eacces(权限被拒绝)

y4ekin9u  于 2023-02-17  发布在  Erlang
关注(0)|答案(1)|浏览(370)

我试图在Linux机器上用Cowboy构建一个简单的Erlang服务器,但是,当我运行服务器时,我得到了以下错误:

=INFO REPORT==== ===
    application: test_app
    exited: {bad_return,
                {{test_app_app,start,[normal,[]]},
                 {'EXIT',
                     {{badmatch,{error,eacces}},
                      [{test_app_app,start,2,
                           [{file,
                                "/testdir/test_app/src/test_app_app.erl"},
                            {line,19}]},
                       {application_master,start_it_old,4,
                           [{file,"application_master.erl"},{line,293}]}]}}}}
    type: temporary

尝试续订certbot生成的许可证。该错误似乎与权限问题有关。如何解决该错误并启动服务器?

gzjq41n4

gzjq41n41#

经过一些研究和反复试验,我能够解决这个问题。

  • 确保使用sudo运行rebar3 shell。此错误是由权限问题引起的,因此使用sudo运行rebar3 shell应该可以解决此问题。
  • 确保Erlang和Rebar3安装正确,而不是使用不提供sudo权限的软件包。例如,使用brew安装Erlang和Rebar3可能会导致Linux上的权限问题。我使用apt安装Rebar3和Erlang,它解决了这个问题。

在实现这些更改之后,我能够在Linux机器上成功地用Cowboy启动Erlang服务器,而没有任何权限问题。
我希望这个解决方案能帮助任何遇到同样错误的人。

相关问题