You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让VS Code的ElixirLS使用ASDF全局Elixir版本而非本地.tool-versions版本

可以通过自定义ElixirLS扩展的运行配置,让它优先调用ASDF的全局Elixir、Erlang版本启动,跳过项目本地.tool-versions的版本限制,解决启动报错问题,具体操作如下:

  • 首先确认你已经通过ASDF安装了符合ElixirLS版本要求的Elixir(最低1.13及以上)、Erlang(最低24及以上)版本,并设置为全局默认:
    执行命令asdf global elixir <符合要求的版本号>、asdf global erlang <符合要求的版本号>完成全局配置。
  • 如果你使用的是VS Code版本的ElixirLS扩展,可选择以下任意一种方案配置:
    方案一:直接指定Elixir、Erlang可执行文件路径
    1. 分别执行asdf where elixir <你的全局elixir版本号>、asdf where erlang <你的全局erlang版本号>获取两个运行环境的安装路径
    2. 打开VS Code设置,搜索elixirLS.elixirPath,填入第一步拿到的Elixir路径下的bin/elixir完整路径,示例:~/.asdf/installs/elixir/1.15.7-otp-25/bin/elixir
    3. 再搜索elixirLS.erlangPath,填入第一步拿到的Erlang路径下的bin目录完整路径,示例:~/.asdf/installs/erlang/25.3.2.7/bin
    4. 重启VS Code生效
      方案二:配置ASDF跳过本地版本检测
    5. 打开VS Code设置,搜索elixirLS.serverEnv,新增一项环境变量:键为ASDF_SKIP_LOCAL_CONFIG,值为1
    6. 重启VS Code后,ASDF在启动ElixirLS时会自动忽略项目本地的.tool-versions配置,直接使用全局版本运行
  • 配置完成后如果仍报错,可清除ElixirLS的缓存编译文件,重启编辑器让扩展基于全局高版本重新编译一次服务即可。
    上述配置仅修改ElixirLS本身的运行环境,不会影响项目本地的版本规则,代码校验、语法提示仍会适配项目的低版本Elixir语法,不会干扰项目正常编译运行。

内容的提问来源于stack exchange,提问作者Hongseok Yoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:42:03