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

Ubuntu 22.04下用rules_erlang构建Erlang Hello World遇版本不匹配问题求助

解决rules_erlang构建Erlang项目时的版本不匹配错误

问题分析

错误提示Erlang version mismatch (Expected UNKNOWN, found 24.2.1)说明rules_erlang无法识别系统中安装的Erlang版本,默认期望版本为UNKNOWN,与实际的24.2.1不匹配。同时你的Erlang代码存在语法错误,会导致后续编译失败。

修复步骤

1. 指定Erlang版本到erlang_config

修改WORKSPACE.bazel中的erlang_config调用,明确指定系统Erlang的版本和路径:

erlang_config(
    version = "24.2.1",
    otp_path = "/usr"
)

这会告诉rules_erlang使用系统中已安装的24.2.1版本Erlang,消除版本不匹配的验证错误。

2. 修复Erlang代码的语法错误

src/hello_world.erl中hello() -存在语法错误,需要改为hello() ->:

-module(hello_world).
-compile(export_all).

hello() ->
    io:format("hello world~n").

3. 重新执行构建命令

运行以下命令重新构建项目:

bazel build //...

额外验证(可选)

如果构建后需要运行这个模块,可以使用Bazel启动Erlang shell并调用函数:

bazel run @erlang//:erl

在Erlang shell中执行:

hello_world:hello().

会输出hello world。


内容的提问来源于stack exchange,提问作者Vertexwahn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:25:28