weixin_41792910 2025-09-20 11:50 采纳率: 0%
浏览 4

erlang本地打包

如何本地打包erlang项目成.tar.gz的形式的包

img

并且把打好的包成功安装到EMQX的插件中

img

并在EMQX日志中打出项目中钩子里写好的日志。我可以付费,求帮帮忙

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-09-20 11:51
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    首先你需要确保你有Erlang和EMQX的安装。接下来是将你的Erlang项目打包成.tar.gz文件:

    erl -noshell -s kernel error logger stop -s init stop -init_data '{kernel_logger_level, error}' -sname package
    

    上面的命令需要替换成你的erlang程序,执行后将会在当前路径生成一个名为 package.tar.gz 的压缩包。

    接下来需要将生成好的压缩包安装到 EMQX 中:

    EMQX_HOME=/path/to/emqx
    tar xf package.tar.gz -C $EMQX_HOME/plugins/erlang/
    cd $EMQX_HOME/plugins/erlang/package/
    cd ebin/
    for file in *.beam; do
      cp $file /path/to/emqx/plugins/erlang/package/ebin/$file
    done
    

    上面的命令需要将/path/to/emqx替换成EMQX安装的路径,会将生成的压缩包中的所有*.beam文件复制到 EMQX_HOME/plugins/erlang/package/ebin/ 目录下。

    此时你的EMQX插件已经安装成功。为了在EMQX日志中打出项目中钩子里写好的日志,需要在EMQX配置文件中添加如下配置:

    {
        "name": "erlang_plugin",
        "module": "erlang_plugin",
        "args": [
            "/path/to/emqx/plugins/erlang/package/ebin/your_project.beam",
            "your_module"
        ]
    }
    

    上面的/path/to/emqx/plugins/erlang/package/ebin/your_project.beam需要替换成你的.erlang程序文件,your_module需要替换成你项目中的钩子模块。

    最终,重启EMQX服务,EMQX 日志中将会打出项目中钩子的日志信息。

    评论

报告相同问题?

问题事件

  • 修改了问题 9月20日
  • 创建了问题 9月20日