Sublime Text 无法直接运行 Erlang 程序,需依赖系统已安装的 erlc 和 erl 工具链;配置核心是通过构建系统调用 erlc 编译、终端执行 erl 加载测试,前提为 erlc/erl 已加入 PATH 且模块名与文件名严格一致。

Sublime Text 本身不支持直接“运行” Erlang 程序,它只是个编辑器;真正执行靠的是系统命令行里的 erlc 和 erl。配置的关键不是让 Sublime “变成交互式 Erlang IDE”,而是让它能调用本地已安装的 Erlang 工具链,完成编译、加载、简单测试这三步。
确认 erlc 和 erl 在终端可用
这是所有后续配置的前提。Sublime 的构建系统本质就是调用 shell 命令,如果终端里都找不到这两个命令,Sublime 肯定也调不动。
- 在终端输入
erlc -v和erl -version,必须有输出(比如Erlang/OTP 26) - 如果报
command not found,说明 Erlang 没装,或没加进$PATH—— 不要跳过这步去配 Sublime 构建系统 - macOS 上用
brew install erlang后通常自动加入 PATH;Windows 用户注意检查安装时是否勾选了“Add to PATH”,否则得手动把C:Program Fileserl-XX.Xin加进系统环境变量
用 Build System 调用 erlc 编译 .erl 文件
Sublime 的构建系统(Build System)是唯一靠谱的“运行”方式,它不依赖插件,稳定且可控。重点是写对 cmd 参数和工作目录。
- 菜单栏 → Tools → Build System → New Build System…,粘贴以下内容并保存为
Erlang.sublime-build { "cmd": ["erlc", "$file"], "file_regex": "^(.+:\d+:\d+: )(.*)$", "working_dir": "$file_path", "selector": "source.erlang" }-
$file是当前打开的.erl文件完整路径,$file_path是其所在目录 —— 必须设working_dir,否则erlc可能找不到模块依赖或生成.beam到错误位置 - 保存后,用
Ctrl+B(Win/Linux)或Cmd+B(macOS)就能编译,错误会高亮显示在底部面板,正则匹配能让光标跳转到出错行
手动在终端里跑 erl 加载 .beam 比插件更可靠
别信“一键启动 Erlang Shell”的插件。它们往往卡在路径、应用依赖、cookie 同步等细节上,反而增加调试成本。直接终端操作更透明、更可控。
- 编译完后,打开终端,
cd到你的源码目录(就是.erl所在目录) - 输入
erl -pa .进入 shell(-pa .让 Erlang 在当前目录找.beam) - 在 shell 里执行:
c(module_name).(注意末尾点号),成功返回{ok, module_name} - 再调用函数:
module_name:function().—— 这才是真实执行环境,和生产部署一致 - 如果模块依赖其他
.beam,确保它们也在-pa指定的路径下,或用多个-pa;不要指望插件自动处理路径层级
最常被忽略的其实是工作目录和模块名一致性:Erlang 要求文件名 foo.erl 里必须定义 -module(foo).,大小写、下划线、拼写差一点,c(foo). 就会报 module foo could not be found。这不是 Sublime 的问题,但很多人卡在这儿以为是配置失败。

















