You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用rebar3便捷创建Erlang的.ez格式文件?

使用Rebar3创建.ez格式归档文件的便捷方式

从归档文件加载代码的功能目前处于实验性阶段。

手动创建示例(参考)

手动借助Erlang标准库创建.ez归档的代码如下:

zip:create("mnesia-4.4.7.ez",
    ["mnesia-4.4.7"],
    [{cwd, code:lib_dir()},
     {compress, all},
     {uncompress,[".beam",".app"]}]).

Rebar3的便捷实现方式

Rebar3提供了多种内置能力和插件来简化.ez归档的创建,无需手动编写底层zip操作代码:

  • 通过Release配置生成归档
    若你的项目已基于Rebar3构建,可在rebar.config中添加归档相关配置,直接生成包含.ez的发布包:

    {relx, [{release, {my_app, "1.0.0"}, [my_app]},
            {archive, true},
            {archive_extension, "ez"}]}.
    

    执行命令完成构建:

    rebar3 release
    

    生成的.ez文件会存放在_build/default/rel/my_app/releases/1.0.0/目录下。

  • 使用rebar3 zip插件打包单个应用
    针对独立Erlang应用,可借助rebar3_zip插件快速生成.ez:

    1. 在rebar.config中添加插件依赖:
      {plugins, [rebar3_zip]}.
      
    2. 执行打包命令:
      rebar3 zip
      

    生成的.ez文件会出现在_build/default/目录下,命名格式为{app_name}-{version}.ez。

  • 自定义归档压缩规则
    若需要精细控制归档的压缩行为(比如指定不压缩.beam和.app文件),可在rebar.config中配置zip_opts:

    {zip_opts, [{compress, all}, {uncompress, [".beam", ".app"]}]}.
    

    执行打包命令时,这些配置会自动生效,和手动调用zip:create的效果完全一致。

内容的提问来源于stack exchange,提问作者孙海城

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:20:42