Elastic Beanstalk部署报错128:.gitmodules中找不到指定子模块路径URL
解决AWS Elastic Beanstalk部署时的Git子模块错误
核心问题
部署失败的直接原因是:你的Git仓库里存在aws-elastic-beanstalk-cli-setup这个子模块路径,但.gitmodules文件中没有配置对应的远程仓库URL,导致EB CLI打包代码时无法处理该子模块,触发报错。
快速解决步骤
1. 检查本地子模块状态
在项目根目录执行命令,查看子模块的当前状态:
git submodule status
如果输出里有aws-elastic-beanstalk-cli-setup相关条目,且显示异常(比如前缀带-或?),说明该子模块配置存在问题。
2. 修复或移除异常子模块
场景A:这个子模块是误添加的
如果项目不需要aws-elastic-beanstalk-cli-setup,直接清理相关配置:
- 删除本地子模块文件(如果存在):
rm -rf aws-elastic-beanstalk-cli-setup
- 移除Git仓库中该子模块的缓存记录:
git rm --cached aws-elastic-beanstalk-cli-setup
- 编辑
.gitmodules文件,删除所有包含aws-elastic-beanstalk-cli-setup的段落,保存后提交变更:
git add .gitmodules git commit -m "移除无效子模块aws-elastic-beanstalk-cli-setup"
场景B:这个子模块是项目必需的
如果确实需要该子模块,补全远程URL配置:
- 编辑
.gitmodules文件,添加以下内容(替换为正确的仓库URL):
[submodule "aws-elastic-beanstalk-cli-setup"] path = aws-elastic-beanstalk-cli-setup url = https://github.com/aws/aws-elastic-beanstalk-cli-setup.git
- 初始化并更新子模块:
git submodule init git submodule update
- 提交配置变更:
git add .gitmodules aws-elastic-beanstalk-cli-setup git commit -m "修复aws-elastic-beanstalk-cli-setup子模块的URL配置"
3. 重新执行部署
完成上述操作后,再次运行部署命令:
eb deploy vatic-admin-dev
关于平台版本警告的说明
部署时出现的两个平台版本警告(分支已废弃、存在推荐版本)不会阻止当前部署,但建议后续有空时升级到EB推荐的平台版本,避免未来出现兼容性问题。
内容的提问来源于stack exchange,提问作者Onikoroshi
相关产品推荐
相关产品推荐

