rebar3未编译src目录内容,执行compile无预期输出求排查
先贴出你的配置供参考:
{plugins, [ {rebar3_gleam, "1.0.0"} ]}. {provider_hooks, [ {pre, [{compile, {gleam, compile}}]} ]}.
给你几个实际排查方向:
确认插件是否成功安装
手动执行rebar3 plugins install强制安装插件,有时候依赖验证阶段会静默卡在插件获取环节,既不报错也不推进流程。安装完成后,去~/.cache/rebar3/plugins目录查看是否存在rebar3_gleam相关文件,确保插件确实安装到位。检查Gleam本地环境
rebar3_gleam插件依赖本地Gleam环境,先执行gleam --version确认Gleam是否已安装。插件1.0.0版本建议搭配Gleam 0.25+版本,版本不兼容可能导致静默失败。如果未安装Gleam,先通过官方渠道(如asdf或二进制包)完成安装。单独测试Gleam编译,排除钩子干扰
暂时注释掉provider_hooks配置段,直接执行rebar3 gleam compile,单独测试Gleam编译是否能正常运行。如果这一步出现报错,先解决Gleam自身的问题(比如源码语法错误、依赖缺失),再恢复钩子配置。开启高等级日志查看细节
除了DIAGNOSTICS=1,试试执行rebar3 compile -vvv获取更详细的执行日志,看看在“Verifying dependencies...”之后到底执行了什么操作,是否有隐藏的错误信息被吞掉。检查项目结构是否符合Gleam要求
Gleam默认编译src目录下的.gleam文件,如果项目中没有任何Gleam源码文件,插件可能因无任务可执行直接退出,导致整个rebar3 compile流程中断,自然不会生成_build目录。
内容的提问来源于stack exchange,提问作者Alexander Mills

