YAML例外:不可接受的角色'' (为0x0)

时间:2015-12-07 08:43:41

标签: macos upload yaml elastic-beanstalk

在向Elastic Beanstalk上传(使用zip)新版本后,Elastic Beanstalk上会出现此错误!使用.ebextensions / singlehttps.config文件设置单个实例服务器的https。

4 个答案:

答案 0 :(得分:2)

Elastic Beanstalk系统中出现此问题的原因实际上是在Mac osx平台中创建的zip。
如果您使用 eb deploy 命令上传新版本而不是通过压缩应用程序,则问题不会出现!
希望这对某人有所帮助,因为它长期困扰我!!

答案 1 :(得分:2)

如果您正在进行亚马逊AWS研讨会LAB: https://github.com/awslabs/eb-node-express-signup

即。上传和部署Elastic Beanstalk应用

并收到此问题错误:

*错误无法部署应用程序。

*错误应用程序版本1.1.0中的配置文件__MACOSX / .ebextensions /._ setup.config包含无效的YAML或JSON。 YAML异常:无效的Yaml:不可接受的字符' '(0x0)在“”,位置0,JSON异常中不允许使用特殊字符:无效的JSON:位置0处的意外字符( )。更新配置文件。

* INFO环境更新正在开始。

<强>解

这是因为MACOS包含一些额外的隐藏文件夹,您需要从ZIP文件中排除这些文件夹。要执行此操作,请在zip上的终端中运行此命令:

$ zip -d nameofyourzipfile.zip __MACOSX/\*

现在重新上传,你应该得到一条成功的消息:

INFO环境更新已成功完成。 INFO已部署新的应用程序版本以运行EC2实例。

希望这能解决你的问题!

答案 2 :(得分:0)

在Mac上变通

由于它打开了zip文件并进行了压缩,因此Elastic Beanstalk会出现上述错误。如果您在前面的注释中运行command来删除与MACOSX相关的内容,它仍然会给我有关未找到的文件之一的错误。

解决方法是在下载之前,将zip文件重命名为其他扩展名,然后在Mac上将其更改为zip。 当您将此文件上传到Elastic Beanstalk时,它将正常工作。

答案 3 :(得分:0)

在MACOSX上压缩文件夹时,它将在您的文件旁边添加自己的隐藏文件。

如果要创建不包含那些不可见的Mac资源文件(例如“ _MACOSX”或“ ._Filename”和.ds存储文件)的zip,请在zip命令中使用“ -X”选项

$ zip -r -X archive_name.zip folder_to_compress

如果这是一个预先存在的zip文件,则可以使用此处其他人提到的命令

$ zip -d nameofyourzipfile.zip __MACOSX/\*