您的位置:首页 >Sublime配置Erlang开发环境_编写高并发代码设置
发布于2026-04-29 阅读(0)
扫一扫,手机访问
想用 Sublime Text 写 Erlang 代码,尤其是高并发应用?配置构建系统这一步,往往是新手和老手都容易翻车的地方。问题往往不在于代码本身,而在于环境。下面这份指南,将帮你绕开那些不报错、只“沉默”的陷阱。
erlc 和 erl 必须在终端可用,否则 Sublime 构建系统必然失效;需先验证命令行中 erlc -v 和 erl -version 能输出版本信息,再配置构建系统并指定完整路径与 working_dir。

记住这个前提:erlc 和 erl 这两个命令,必须在你的终端里就能直接调用。否则,Sublime Text 里的任何构建配置都只是空中楼阁——这是所有问题的起点,没有商量余地。
Sublime 的构建系统本质上是在后台执行 shell 命令,它可不会主动帮你寻找 Erlang。它只认你系统环境里已经存在的命令。跳过这一步直接去配置插件或构建系统,那么90%的“点击没反应”或“报错找不到命令”问题,根源都在这里。
erlc -v 和 erl -version。必须能看到类似 Erlang/OTP 26 这样的版本信息输出。brew install erlang 安装通常会自动配置好 PATH。C:\Program Files\erl-25.3\bin 这样的路径添加到系统环境变量中。注意,路径里包含空格,这在后续配置中是个需要处理的点。asdf 等版本管理工具的 Linux 用户,请确保已经执行了 asdf global erlang ref,并在新终端中用 which erlc 命令验证其路径。如果你遇到了语法高亮失效、保存文件时莫名删空行、或者 -spec fun/0 这类语法解析失败的情况,大概率是装错了插件。社区里名叫 “Erlang” 的插件不止一个,但只有由 erlang-editors 组织维护的那个,才持续适配 OTP 24 及以上的新特性。
Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),调出命令面板。Package Control: Install Package 并回车。Erlang,请认准 GitHub 地址为 https://github.com/erlang-editors/sublime-erlang 的那一个进行安装。.erl 源文件,编辑器右下角应该显示为 Erlang。如果仍是 Plain TextSet Syntax → Erlang → Erlang 手动激活一次,之后通常就能自动识别了。-include 文件无法跳转、-record 字段没有代码补全,而且这些问题往往无法通过设置修复。这里有个常见的误区:图形界面应用(包括 Sublime Text)在 macOS 和 Linux 上,经常无法继承你在 Shell 配置文件(如 .bashrc, .zshrc)中设置的 PATH 变量。而在 Windows 上,路径中的空格和反斜杠又容易引发解析错误。因此,在构建配置里简单地写 "cmd": ["erlc", "$file"] 看起来简洁,但在大多数环境下会导致静默失败。
which erlc(macOS/Linux)或 where erlc(Windows),获取 erlc 命令的完整绝对路径。例如:/Users/xxx/.asdf/shims/erlc 或 C:\Progra~1\erl-25.3\bin\erlc.exe。Tools → Build System → New Build System…。{
"cmd": ["/Users/xxx/.asdf/shims/erlc", "$file"],
"file_regex": "^(.+):([0-9]+):([0-9]+):.*$",
"working_dir": "$file_path",
"selector": "source.erlang"
}
$file 代表当前文件的完整路径和文件名,$file_path 则是该文件所在的目录。必须设置 working_dir,否则 erlc 编译器可能找不到通过 -include 引入的头文件,或者把编译生成的 .beam 文件输出到错误的位置。C:\Program Files\... 这类包含空格的路径。可以改用其对应的短路径格式(如 C:\Progra~1\...),或者将 erlc.exe 复制到一个没有空格的目录再引用。对于单个文件的简单测试,直接用 erlc 编译没问题。但真实的、包含 gen_server、supervisor 和多模块依赖的高并发系统,必须依靠 rebar3 来管理编译路径、依赖解析和 boot 文件生成。Sublime Text 默认的构建系统不理解这种项目结构。
build_rebar.sh 脚本,内容为 cd $(dirname "$1") && rebar3 compile。然后在 Sublime 的构建系统配置中,设置 "cmd": ["bash", "/path/to/build_rebar.sh", "$file"]。.bat 批处理文件替代,注意使用 %~dp1 这样的变量来获取当前文件所在的盘符和路径。rebar3 compile 这条命令直接塞进构建系统的 cmd 数组里——在 Windows 下,空格和引号的处理极易导致命令崩溃,通过外层脚本封装会更可控。erl -pa _build/default/lib/*/ebin -sname mynode,然后使用 m(myapp). 来加载模块。Sublime Text 并不适合模拟完整的 Erlang 节点交互环境,强行封装反而可能掩盖路径或 cookie 等关键问题。说到底,真正卡住人的往往不是 Erlang 语法或编辑器的快捷键,而是那些不显眼的细节:erlc 的路径没写对、working_dir 工作目录没设置、或者头文件不在 -pa 参数指定的搜索范围内。这些细节通常不会打印明确的错误信息,只会让整个构建过程静默失败。处理好它们,你的 Sublime Text 才能成为编写高并发 Erlang 代码的得力助手。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9