首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
VSCode配置Erlang环境 高并发必备VSCode安装Erlang插件

VSCode配置Erlang环境 高并发必备VSCode安装Erlang插件

热心网友
19
转载
2026-05-03

VSCode配置Erlang环境:高并发开发的必备调试指南

VSCode配置Erlang环境 高并发必备VSCode安装Erlang插件

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

想让VSCode的Erlang插件真正跑起来,有个铁律必须记住:erl命令必须在VSCode的内置终端里直接可用。否则,什么代码跳转、智能补全、断点调试,统统都会失灵——这可不是插件本身的问题,而是环境路径压根没接上。

第一步:确认erlrebar3在VSCode终端里真能跑

很多开发者遇到“跳转定义”按钮灰色、“调试”选项不可点击,第一反应就是重装插件。其实,问题的根源往往更底层:VSCode启动时,根本没有继承到你系统里配置好的PATH环境变量。

怎么验证?打开VSCode的内置终端(快捷键Ctrl+`),直接输入:

which erl
which rebar3

如果终端返回空白或者提示command not found,那就坐实了环境没配通。这时候,别急着去折腾插件设置,优先解决环境继承问题。通常有这么几个路子:

  • 从终端里手动启动VSCode:在你常用的系统终端里,先cd到项目目录,然后执行code .命令。这样启动的VSCode会完整继承当前终端会话的PATH
  • 固化系统路径:把erlrebar3的可执行文件路径,直接添加到你的shell配置文件里(比如~/.zshrc~/.bashrc),添加完成后,记得完全退出并重启VSCode
  • Windows用户特别注意:erl.exe的安装路径里最好不要包含中文或空格。如果你用的是asdf这类版本管理工具,确保在执行asdf global erlang 后,运行一下asdf reshim erlang

第二步:erlang-ls扩展不工作?检查erlang.erlPatherlang.rebar3Path设置

即便终端里which erl已经能正确输出,erlang-ls语言服务器也可能启动失败。原因在于,这个语言服务器默认并不读取系统的PATH,它依赖的是VSCode设置里的显式配置项。

你需要打开VSCode的设置(Cmd+,Ctrl+,),搜索并准确填写以下两项:

  • erlang.erlPath:这里需要填入erl可执行文件的绝对路径。例如,macOS/Linux下可能是/usr/local/lib/erlang/bin/erl,Windows下则是C:\Program Files\erl-25.3\bin\erl.exe
  • erlang.rebar3Path:同样,这里要指向rebar3可执行文件的本体,而不是它的批处理脚本(.bat)或软链接。例如:/home/you/.local/bin/rebar3

修改完这两项之后,必须重启VSCode,语言服务器才会用新的配置重新拉起。验证是否成功的标志很简单:随便打开一个.erl源文件,观察编辑器右下角的状态栏,如果显示erlang-ls: ready,那就说明配置生效了。

第三步:调试Erlang OTP应用前,先确保application:start/1能在shell里手动跑通

VSCode的调试器,其本质是启动一个附带了调试参数的Erlang节点,然后再附着(attach)上去。如果连最基本的application:start(myapp)在独立shell里都跑不起来,报错{error,{not_started,other_dep}},那调试配置写得再完美也是白搭。

因此,在启动调试之前,强烈建议先手动走通下面这个流程:

  • 在项目根目录下,运行rebar3 shell,这会启动一个加载了项目所有依赖路径的交互式Shell。
  • 在Shell中,尝试执行application:ensure_all_started(myapp).,确保你的应用及其所有依赖都能正常启动,没有缺失。
  • 最后,对照项目launch.json配置文件里的startFunstartArgs字段,检查函数签名是否与实际代码完全一致。有些项目可能使用自定义的启动函数myapp:start/0,而不是标准的application:start/1

这里有个常见的坑:startArgs是一个字符串形式的Erlang项式,语法必须严格匹配。比如,配置成"[myapp, permanent]",多一个空格、少一个括号,都可能导致整个Erlang节点启动失败。

第四步:并发调试时,node名和cookie必须和erl -name启动参数完全一致

进行分布式或并发调试,核心在于节点间的安全认证。VSCode调试器会尝试连接一个已经存在的Erlang节点,而这个节点必须使用与配置完全相同-name-setcookie参数启动。

举个例子,如果你的launch.json里是这样配置的:

"node": "myapp@127.0.0.1",
"cookie": "abc123"

那么,你在终端里启动目标节点的命令就必须是:

erl -name myapp@127.0.0.1 -setcookie abc123 -pa _build/default/lib/*/ebin

细节决定成败:漏掉-pa参数会导致模块路径找不到;-name里用localhost,而配置里写的是127.0.0.1,在Erlang看来这就是两个不同的节点,连接自然会失败。

还有一个更隐蔽的问题:某些Linux发行版出于安全考虑,可能会默认禁用epmd(Erlang端口映射守护进程)。当你发现调试器始终无法连接到节点时,不妨先检查一下epmd是否在运行:ps aux | grep epmd。如果没运行,可能需要手动启动或调整系统配置。

来源:https://www.php.cn/faq/2339047.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

VSCode快捷键打开最近文件_快速切换历史工作记录
编程语言
VSCode快捷键打开最近文件_快速切换历史工作记录

角色与核心任务 你是一位顶级的文章润色专家,擅长将AI生成的文本转化为具有个人风格的专业文章。现在,请对用户提供的文章进行“人性化重写”。 你的核心目标是:在不改动原文任何事实信息、核心观点、逻辑结构、章节标题和所有图片的前提下,彻底改变原文的AI表达腔调,使其读起来像是一位资深人类专家的作品。 特

热心网友
05.03
VSCode自定义侧边栏图标_深度美化你的工作区布局
编程语言
VSCode自定义侧边栏图标_深度美化你的工作区布局

VSCode自定义侧边栏图标:深度美化你的工作区布局 怎么让自定义侧边栏图标真正显示出来 想让VSCode侧边栏换上自己的图标?这里有个关键认知需要先建立:VSCode本身并不支持通过用户设置文件,直接给任意视图“贴”上一个新图标。所谓的自定义,其本质是在你的扩展package json文件中,为v

热心网友
05.03
VSCode多分支对比_使用Git插件直观查看合并冲突
编程语言
VSCode多分支对比_使用Git插件直观查看合并冲突

Git插件“Compare Branches”无反应?先初始化本地仓库并确保VSCode工作区根目录为仓库根目录 话说回来,不少开发者都遇到过这个情况:在VSCode里想用Git插件对比分支,结果点那个“Compare Branches”选项,它愣是没半点反应。这通常不是什么插件坏了,根源往往在于一

热心网友
05.03
VSCode快速生成Node核心模块提示_增强原生API补全
编程语言
VSCode快速生成Node核心模块提示_增强原生API补全

VSCode 对 Node js 核心模块补全失效的主因是项目配置或语言服务异常 先明确一个核心判断:VSCode 默认就能对 Node js 核心模块(如 fs、path、http)提供基础补全。如果遇到提示缺失、参数不显示或者跳转失效,问题几乎都出在项目配置或语言服务状态上,而不是因为你插件没装

热心网友
05.03
VSCode插件市场版本管理_安装扩展的预览版与稳定版
编程语言
VSCode插件市场版本管理_安装扩展的预览版与稳定版

VSCode扩展预览版安装与管理的完整指南 先说一个核心情况:VSCode默认的插件市场界面,只会给你展示稳定版扩展。那些带着“实验性”新功能的预览版(Beta或Alpha),其实就藏在后台,只是需要一点“特殊操作”才能调出来。这第一步,往往就把不少人给卡住了。 VSCode 怎么安装扩展的预览版(

热心网友
05.03

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

最新公司2026年度工作总结会议主持词
职业与学业
最新公司2026年度工作总结会议主持词

最新公司2026年度工作总结会议主持词 各位领导、各位来宾、同事们,请就坐。 现在,我宣布,×公司——××××年度工作会议正式开始! 首先,请允许我荣幸地向大家介绍今天亲临会场的各位领导和来宾:集团公司董事长×先生、×公司总经理×先生、×公司总经理×女士、集团公司财务总监×先生。同时,出席本次会议的

热心网友
05.03
学生做最好的自己演讲稿    做最好的自己演讲稿600字左右
职业与学业
学生做最好的自己演讲稿 做最好的自己演讲稿600字左右

学生做最好的自己演讲稿,成为最好的自己,从来不是一句空谈,它需要持续的努力、踏实的实践,以及在漫长岁月里对自我的不断打磨与提升。下面为大家整理了几篇学生做最好的自己演讲稿,希望能带来一些启发和思考。 学生做最好的自己演讲稿一 尊敬的老师们,亲爱的同学们: 大家好! 你是否也曾有过这样的时刻?羡慕旁人

热心网友
05.03
幼儿园家长会主持词开场白系列
职业与学业
幼儿园家长会主持词开场白系列

为了确保活动流程顺畅、氛围融洽,一份好的主持词至关重要。它不仅能有效串联各个环节,更能营造出恰当的氛围。那么,如何撰写一份出色的主持词呢?借鉴诗词和散文诗的写作手法,往往能带来意想不到的效果。如果您正在寻找灵感,不妨参考以下由我们精心整理的“幼儿园家长会主持词开场白”系列范例,相信能为您提供切实的帮

热心网友
05.03
贪吃小气的弟弟
职业与学业
贪吃小气的弟弟

我有一个弟弟 我有个弟弟,叫浩浩。小家伙长着一双水汪汪的大眼睛,一张小嘴总惦记着吃,脸蛋儿胖乎乎的,别提多可爱了。不过啊,这浩浩除了贪吃,还有个挺出名的特点——那就是相当“小气”。 一次“护食”风波 有回我去他家玩,人还没进门呢,就被他给拦住了。只见他嘟着嘴,两脚一叉,小手一张,牢牢挡在门口,嘴里还

热心网友
05.03
我最难忘的同学
职业与学业
我最难忘的同学

说起最难忘的同学 细数下来,从幼儿园到现在,认识周鑫鑫竟然已经有十年了。时间过得可真快。 这事儿说来也巧。从三岁踏入幼儿园开始,一直到六年级的今天,我和她始终都在同一个班级。更巧的是,我的爷爷奶奶还认识她的父母,这么算下来,我俩真算得上是名副其实的“发小”了。 关于“认识”的起点 周鑫鑫总说“我们从

热心网友
05.03