讲师中心 微信公众号
AI工具推荐 视频效率加速

VSCode怎么运行Erlang代码_VSCode配置Erlang环境教程

老晨同学_3721

老晨同学_3721

发布时间:2026-08-18 11:13:44

|

293人浏览过

|

来源于php中文网

原创

VSCode调试Erlang失败主因是环境未正确配置:which erl必须返回路径,erlang.erlPath和rebar3Path需填绝对路径并重启VSCode,tasks.json须配置rebar3 compile任务,调试前需确保application:ensure_all_started/1成功。

vscode怎么运行erlang代码_vscode配置erlang环境教程

VSCode 本身不运行 Erlang 代码,它只调用你本地装好的 erl 和 rebar3。所有“点不了调试”“跳转灰色”“编译失败”的问题,90% 都卡在 erl 在 VSCode 内置终端里根本跑不动——不是插件没装对,是环境没接上。

which erl 在 VSCode 终端必须返回路径

这是整个配置的起点,也是最容易被跳过的验证步骤。插件(比如 pguyot.erlang)启动语言服务器前,会先尝试调用 erl;如果失败,它就静默退场,不报错、不提示,只留一堆灰色按钮。

  • 按 Ctrl+` 打开 VSCode 内置终端,执行:which erl 和 which rebar3
  • 任一命令返回空或 command not found,立刻停手,别配 launch.json,也别改插件设置
  • 常见原因:
    – 从桌面图标启动 VSCode → 它拿的是系统登录时的 PATH,不包含你 ~/.zshrc 里加的 Erlang 路径
    – Windows 上 erl.exe 路径含中文或空格 → BEAM 启动失败,但错误只埋在语言服务器日志里,终端看不到
    – 用 asdf 管理版本 → 忘了运行 asdf reshim erlang,which erl 找不到软链接目标

erlang.erlPath 和 erlang.rebar3Path 必须填绝对路径

即使 which erl 有输出,erlang-ls 语言服务器默认也不读系统 PATH。它只认你在 VSCode 设置里显式填的两个路径——而且必须是真实可执行文件的绝对路径,不能是软链接、不能是 erl.bat、也不能是目录。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 打开 VSCode 设置(Cmd+,),搜索并设置:
    – erlang.erlPath → 填 /usr/local/lib/erlang/bin/erl(macOS/Linux)或 C:\Program Files\erl-25.3\bin\erl.exe(Windows)
    – erlang.rebar3Path → 填 /home/you/.local/bin/rebar3 这类真实路径,不是 rebar3.bat,也不是符号链接本身
  • 改完后必须彻底重启 VSCode,语言服务器不会热重载
  • 验证方式:打开任意 .erl 文件,右下角状态栏出现 erlang-ls: ready 才算生效

tasks.json 编译任务必须基于 rebar3

VSCode 的“运行”按钮不会自动编译 Erlang 项目。你得手动配置 tasks.json 把 rebar3 compile 接进来,否则改完代码直接调试,只会遇到未编译模块导致的 undef 错误。

  • 确保项目根目录存在 rebar.config
  • 按 Ctrl+Shift+P → 输入 Tasks: Configure Task → 选 Create tasks.json file from template → Others
  • 替换生成的 tasks.json 内容为:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "rebar3 compile",
      "type": "shell",
      "command": "rebar3 compile",
      "group": "build",
      "presentation": {
        "echo": true,
        "reveal": "always",
        "focus": false,
        "panel": "shared",
        "showReuseMessage": true,
        "clear": false
      }
    }
  ]
}
  • 保存后,按 Ctrl+Shift+B 就能触发编译;也可在命令面板中运行该任务
  • 注意:rebar3 必须能访问项目依赖,否则编译会卡在 crypto:start/0 报错 —— 表明 Erlang 安装缺 crypto 应用,需重装 OTP

调试前必须手动验证 application:ensure_all_started/1

VSCode 调试器本质是启动一个带参数的 Erlang 节点再 attach,它不负责解决依赖缺失。如果你的 launch.json 里写的是 "startFun": "application:start",但实际项目里 myapp 依赖 cowboy 而 cowboy 没 start,调试器会直接报 {error,{not_started,cowboy}} 并退出,连断点都设不上。

  • 在项目根目录运行 rebar3 shell
  • 在 shell 里执行 application:ensure_all_started(myapp).,确认返回 ok
  • 检查 rebar.config 是否声明了 deps,以及 myapp.app.src 里的 applications 列表是否完整
  • startFun 必须匹配真实入口:有些项目用 myapp:start/0,有些用 myapp_app:start/2,函数签名错一个字符就失败

真正容易被忽略的,是 erl 可执行文件本身是否完整——特别是 crypto 应用是否启用。很多调试失败不是配置问题,而是 erl -eval 'crypto:start(). halt().' -noshell 在终端里就报错,说明 OTP 安装不全。这点没法绕过,得重装或手动修复。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

相关专题

更多
erlang语言是什么
erlang语言是什么

erlang是一种并发、容错、分布式和动态类型的编程语言。它专门用于构建并发系统,并提供了一个轻量级进程模型来实现并发性。想了解更多erlang的相关内容,可以阅读本专题下面的文章。

1338

2024.06.19

vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

1255

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2632

2023.07.21

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1909

2024.03.14

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1707

2024.03.14

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2587

2024.03.15

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1798

2024.03.15

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1242

2024.03.15

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn