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

Windows环境运行Elixir应用报错:无法设置短节点名称

解决Windows下Elixir Mix Release启动节点名错误的问题

我之前在Windows上部署Elixir release时也碰到过一模一样的报错,结合你的配置和尝试过的方法,咱们从核心配置入手来解决:

1. 修正env.bat.eex的节点配置

你的env.bat.eex里有两个关键问题:

  • RELEASE_DISTRIBUTION被注释了,而且设置值不对(应该是name或sname,不是应用名km)
  • 当使用长节点名格式(xxx@127.0.0.1)时,必须启用RELEASE_DISTRIBUTION

修改后的env.bat.eex应该是这样:

@echo off
rem Set the release to work across nodes. If using the long name format like
rem the one below (my_app@127.0.0.1), you need to also uncomment the
rem RELEASE_DISTRIBUTION variable below.
set RELEASE_DISTRIBUTION=name
set RELEASE_NODE=<%= @release.name %>@127.0.0.1

2. 重新构建Release

因为修改了环境配置文件,必须重新生成release才能让配置生效:

mix release --env=prod

3. 正确启动Release

  • 直接使用配置好的节点名启动:
    .\_build\prod\rel\prod\bin\prod start
    
  • 如果需要临时指定节点名,要用长节点名参数--name(短节点名--sname依赖Windows计算机名的合法性,容易出问题):
    .\_build\prod\rel\prod\bin\prod start --name zpc@127.0.0.1
    

4. 额外注意事项

  • 确保你是在Windows环境下构建的Release:跨平台构建(比如在Linux上构建Windows版本)可能会导致节点配置的兼容性问题
  • 检查Windows计算机名:如果一定要用--sname,计算机名必须是纯英文、不含特殊字符、长度不超过15位,并且hosts文件里要有127.0.0.1 你的计算机名的条目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 15:54:04