首先确认Erlang环境变量配置正确,确保系统能识别erl命令;然后在Sublime Text中创建自定义构建系统,配置包含"shell": true的JSON,正确调用erlc编译和erl运行命令,保存为Erlang.sublime-build;最后在Erlang文件中使用-module和-export定义main/0函数,选择对应构建系统并按下Ctrl+B运行。若仍报错,检查路径、语法、编码及权限问题。推荐使用Rebar3管理项目依赖与构建,提升开发效率。

Erlang代码在Sublime Text里跑不起来,通常不是Erlang本身的问题,而是Sublime Text没有正确地找到Erlang的执行环境,或者你的构建配置有误。最直接的解决办法是确保Erlang环境路径设置无误,并为Sublime Text配置一个能正确调用Erlang编译和运行命令的自定义构建系统。
解决这个问题,我们需要从系统环境和Sublime Text配置两方面入手。
首先,确认Erlang环境已正确安装并可被系统识别。 打开你的命令行工具(Windows的cmd或PowerShell,macOS/Linux的Terminal),输入
erl
erl
配置系统环境变量:
C:\Program Files\erl-26.2
ERLANG_HOME
C:\Program Files\erl-26.2
Path
%ERLANG_HOME%\bin
~/.bashrc
~/.zshrc
~/.profile
export ERLANG_HOME="/usr/local/opt/erlang/lib/erlang"
export PATH="$ERLANG_HOME/bin:$PATH"
source ~/.bashrc
配置Sublime Text构建系统: 这是让Sublime Text知道如何运行Erlang代码的关键一步。
打开Sublime Text。
点击
Tools
Build System
New Build System...
Sublime Text会打开一个名为
untitled.sublime-build
{
"cmd": ["erlc", "$file", "&&", "erl", "-noshell", "-s", "${file_base_name}", "main", "-s", "init", "stop"],
"file_regex": "^(.*?):([0-9]+):([0-9]+): (.*)$",
"selector": "source.erlang",
"shell": true,
"working_dir": "$file_path"
}cmd
erlc
$file
&&
erl
-noshell
-s ${file_base_name} mainmain/0
-s init stop
file_regex
selector
.erl
shell: true
cmd
&&
working_dir
将这个文件保存为
Erlang.sublime-build
.sublime-build
现在,打开一个Erlang文件(比如
hello.erl
-module(hello). -export([main/0]). main() -> io:format("Hello from Erlang in Sublime Text!~n").点击
Tools
Build System
Erlang
按下
Ctrl+B
Cmd+B
如果你的Erlang代码没有
main/0
cmd
"cmd": ["erlc", "$file"]
说实话,我个人遇到过好几次,就是因为PATH没设对,或者Sublime Text压根不知道要去哪里找
erl
erl
erlc
Path
ERLANG_HOME/bin
.erl
erlc
.
shell: true
cmd
&&
"shell": true
cmd
erlc
selector
selector
source.erlang
erl
erlc
遇到错误时,最重要的是不要慌,一步步排查。先确认Erlang本身在命令行能跑,再看Sublime Text的配置,最后才是检查代码逻辑。
我个人觉得,如果你是Erlang的重度用户,或者项目比较复杂,IntelliJ IDEA配合其Erlang插件是真的香。但如果只是写写小工具或者脚本,VS Code的轻量和插件生态则更胜一筹。
IntelliJ IDEA (搭配Erlang插件):
Visual Studio Code (VS Code) (搭配Erlang/Elixir插件):
Emacs (搭配Erlang Mode):
erl
Vim (搭配Erlang插件):
vim-erlang
选择哪个工具,很大程度上取决于你的个人喜好、项目规模和团队协作习惯。没有绝对最好的,只有最适合你的。
说实话,刚开始学Erlang的时候,我也是手动
erlc
erl
对于任何稍具规模的Erlang项目,手动管理编译、测试和依赖是不可持续的。这时候,你就需要像Java世界的Maven/Gradle、Node.js世界的npm一样的构建工具——Rebar3。
Rebar3是什么? Rebar3是一个功能强大的Erlang构建工具和依赖管理器。它遵循Erlang/OTP的约定,旨在简化Erlang应用程序、库和发布版本的生命周期管理。它可以帮你:
Rebar3的核心功能和使用:
项目创建: 你可以用
rebar3 new app my_app
rebar3 new lib my_lib
src
ebin
include
rebar.config
依赖管理: 在
rebar.config
%% rebar.config 示例
{deps, [
{cowboy, {git, "https://github.com/ninenines/cowboy.git", {tag, "2.9.0"}}},
{jsx, "~> 3.0"} %% 从Hex.pm获取
]}.然后运行
rebar3 deps
编译项目: 在项目根目录运行
rebar3 compile
rebar.config
运行测试: Rebar3内置了对EUnit和Common Test的支持。只需运行
rebar3 eunit
rebar3 ct
创建发布版本 (Release): 这是Rebar3最强大的功能之一。你可以用
rebar3 release
交互式Shell: 运行
rebar3 shell
Rebar3与Sublime Text的结合: 你甚至可以为Sublime Text配置一个构建系统,让它直接调用Rebar3命令,比如:
{
"cmd": ["rebar3", "compile"],
"selector": "source.erlang",
"working_dir": "$project_path" // 或者 "$file_path"
}这样,你就可以在Sublime Text里一键编译整个Rebar3项目了。当然,更高级的用法可能是在终端直接使用Rebar3,因为它提供了更丰富的命令和反馈。
引入Rebar3,不仅让Erlang项目的构建和管理变得有条不紊,也极大地提升了开发效率和团队协作的便利性。它是Erlang生态中不可或缺的工具。
以上就是SublimeText运行Erlang代码出错怎么办?配置Erlang环境的实用方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号