我正在使用' eb deploy'用于部署我的提交但是收到此错误
警告:您有未提交的更改 创建应用程序版本存档" 6fea"。
上传:[#################################################### ###] 100%完成...
信息:环境更新正在开始 信息:将新版本部署到实例。
错误:[实例:i-10d1f9ec]命令在实例上失败。退货代码:126
输出:/ bin / sh:./ scripts / update-ftp-dns.sh:/ bin / sh ^ M:错误的解释器:没有这样的文件或目录。
.ebextensions / 03-vsftpd.config中的container_command 07-update_ftp_dns失败。有关更多详细信息,请使用控制台或EB CLI检查/var/log/eb-activity.log INFO:在所有实例上完成命令执行。摘要:[成功:0,失败:1] 信息:部署了新的应用程序版本以运行EC2实例 错误:更新环境操作已完成,但有错误。有关更多信息,请参阅故障排除文档
请帮我解决这个问题。
答案 0 :(得分:0)
错误消息有点隐藏,但它在那里:
输出: / bin / sh :./ script = update / shp -dns.sh: / bin / sh ^ M :错误的解释器:没有这样的文件或。目录
如果我不得不猜测,你有一个换行符,其中包含换行符和回车符。它将回车字符视为可执行文件名称的一部分。
确保您已转换/scripts/update-ftp-dns.sh脚本,以便它仅使用Unix行结尾。
答案 1 :(得分:0)
我有类似的东西,原因是Git的autocrlf值设置为true。这意味着当运行git checkout
时,Git会将文件转换为Windows格式的文件 - 遗憾的是,Elastic Beanstalk工具尝试将Windows格式的文件上传到Linux服务器,这将显示错误像这样。
我通过将autoclrf切换为false来修复它,并再次提交相关文件。但请注意这种影响。