Golang部署Heroku报错H10提示app-crm命令不存在如何修复
故障修复方案
你的报错核心是Heroku运行环境找不到你指定的app-crm可执行文件,该问题和端口配置无关,可按以下步骤排查修复:
- 第一步:修正Procfile的路径写法
Linux系统默认不会在当前工作目录查找可执行文件,你当前的Procfile内容直接写web: app-crm会触发找不到命令的错误,修改为如下内容即可:
web: ./app-crm
- 第二步:确认编译生成的可执行文件名和配置匹配
Heroku官方Go构建包默认会将项目根目录的main包,编译为和go.mod中声明的模块名同名的可执行文件:- 查看项目根目录
go.mod的第一行模块声明,比如模块名为github.com/yourname/app-crm,才会生成app-crm的可执行文件 - 如果你的main包放在子目录(比如
cmd/crm),构建包会生成名为crm的可执行文件,需要同步修改Procfile中的文件名
- 查看项目根目录
- 第三步:手动验证路径是否正确
你可以本地执行go build命令,查看生成的可执行文件的准确名称,替换到Procfile中即可。如果仍有问题,可以执行heroku run bash进入应用运行容器,执行ls命令直接查看容器内的文件列表,确认可执行文件是否存在、名称是否匹配。
内容的提问来源于stack exchange,提问作者TeaCup
相关产品推荐
相关产品推荐

