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

VSCode配置Erlang运行环境 - 函数式编程快速起步

星敏小哥_6164

星敏小哥_6164

发布时间:2026-06-30 13:24:21

|

568人浏览过

|

来源于php中文网

原创

VSCode Erlang配置失败的主因是erl和rebar3在内置终端不可用,须确保which erl返回路径、显式设置绝对路径、继承正确PATH、配置tasks.json编译任务,并调试前验证application:ensure_all_started。

vscode配置erlang运行环境 - 函数式编程快速起步

VSCode 本身不运行 Erlang,它只调用你本地装好的 erlrebar3;所有“点不动”“跳转灰”“调试失败”的问题,90% 是因为这两个命令在 VSCode 内置终端里根本跑不起来。

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

这是整个配置的起点。插件(比如 pguyot.erlang)启动语言服务器前,会静默尝试执行 erl -noshell -eval 'halt().' -sname test;失败就退出,不报错、不提示,只留一堆不可用功能。

  • Ctrl+` 打开 VSCode 内置终端,直接运行:which erlwhich rebar3
  • 任一命令返回空或 command not found,立刻停手——别配 launch.json,也别改插件设置
  • 常见原因:
    – 从桌面图标启动 VSCode → 它拿的是系统登录时的 PATH,不包含你 ~/.zshrc 里加的 Erlang 路径
    – Windows 上 erl.exe 路径含中文或空格 → BEAM 启动失败,错误埋在语言服务器日志里,终端看不到
    – 用 asdf 管理版本 → 忘了运行 asdf reshim erlangwhich erl 找不到软链接目标
  • 修复方式只有一条:让 VSCode 继承正确的 PATH。
    – 推荐在已配置好环境的终端中执行 code . 启动 VSCode
    – 或把 Erlang bin/ 目录写进 ~/.zshrc(macOS/Linux)或系统环境变量(Windows),然后**完全退出 VSCode 再重启**

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

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

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,也不是符号链接本身
  • 注意:
    erl.exe 路径不能含空格或中文(Windows)
    – 不要填目录,比如 C:\Program Files\erl-25.3\bin\;必须精确到可执行文件本体
    – 改完后必须彻底重启 VSCode —— 语言服务器不会热重载
  • 验证方式:打开任意 .erl 文件,右下角状态栏出现 erlang-ls: ready 才算生效

tasks.json 必须基于 rebar3 编译

VSCode 的“运行”按钮不会自动编译 Erlang 项目。你得手动配置 tasks.jsonrebar3 compile 接进来,否则改完代码直接调试,只会遇到未编译模块或依赖缺失错误。

  • 在项目根目录创建 .vscode/tasks.json,内容类似:
    {
      "version": "2.0.0",
      "tasks": [
        {
          "label": "rebar3 compile",
          "type": "shell",
          "command": "rebar3 compile",
          "group": "build",
          "problemMatcher": "$erlang"
        }
      ]
    }
  • 关键点:
    command 必须是完整可执行命令,不要加 cd xxx &&(除非工作区不在项目根目录)
    problemMatcher: "$erlang" 能把编译错误定位到源码行,不加就只能看到终端输出
    – 如果项目结构多层嵌套,确保 cwd 正确,或把 rebar3 放到项目根目录再调用
  • 配置后,在命令面板(Cmd+Shift+P)执行 Tasks: Run Build Task,选 rebar3 compile 测试是否成功

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

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

  • 务必在调试前走通这三步:
    – 在项目根目录运行 rebar3 shell
    – 在 shell 里执行 application:ensure_all_started(myapp).,确认返回 ok
    – 检查 startFun 是否匹配真实入口:有些项目用 myapp:start/0,有些用 myapp_app:start/2
  • launch.json 中的 node 字段必须和 shell 中节点名一致(如 myapp@127.0.0.1),且 cookie 必须与 ~/.erlang.cookie 完全相同
  • 容易被忽略的细节:
    – 分布式调试时,多个节点必须用相同 cookie,且 -name 不能用 localhost(要用具体 IP 或 127.0.0.1
    erlang-ls 调试器不支持热加载,改代码后需重启节点

相关文章

编程速学教程(入门课程)
编程速学教程(入门课程)

编程怎么学习?编程怎么入门?编程在哪学?编程怎么学才快?不用担心,这里为大家提供了编程速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

WorkBuddy

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

UP简历
UP简历 Hot

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

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

DeepSeek

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

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

豆包大模型

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

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

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

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

1338

2024.06.19

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

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

1175

2023.06.30

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

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

2332

2023.07.21

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

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

1809

2024.03.14

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

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

1627

2024.03.14

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

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

2507

2024.03.15

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

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

1778

2024.03.15

vscode用途介绍
vscode用途介绍

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

1202

2024.03.15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

20

2026.09.23

热门下载

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

精品课程

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

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