如何使用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:- 在
rebar.config中添加插件依赖:{plugins, [rebar3_zip]}. - 执行打包命令:
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,提问作者孙海城
相关产品推荐
相关产品推荐

