【问题标题】:AWS Rails Application Failure to deploy errorAWS Rails 应用程序部署失败错误
【发布时间】:2016-06-04 15:54:14
【问题描述】:

这里是 eb 部署失败的日志。它似乎与预编译有关。我在 Heroku 遇到了类似的问题,但都无法解决。本地主机启动正常,但由于 UTF-8 格式,预编译无法正常工作。我不太确定如何进行。任何建议将不胜感激。

      mexil@nach:~/workspace/dryit$ eb deploy
Creating application version archive "app-80bb-160223_122919".
Uploading dryit/app-80bb-160223_122919.zip to S3. This may take a while.
Upload Complete.
INFO: Environment update is starting.                               
INFO: Deploying new version to instance(s).                         
ERROR: [Instance: i-9d55f345] Command failed on instance. Return code: 1 Output: (TRUNCATED)...b assets:precompile' webapp
+ '[' false == true ']'
+ su -s /bin/bash -c 'bundle exec rake assets:precompile' webapp
rake aborted!
ArgumentError: invalid byte sequence in UTF-8

Tasks: TOP => assets:precompile
(See full trace by running task with --trace). 
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/11_asset_compilation.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
ERROR: Unsuccessful command execution on instance id(s) 'i-9d55f345'. Aborting the operation.
ERROR: Failed to deploy application.                                

【问题讨论】:

    标签: ruby-on-rails amazon-elastic-beanstalk


    【解决方案1】:

    不确定是什么导致了字节问题,我猜这是某个地方的一些奇怪字符,但无论如何,这里有一个可能的解决方法:

    首先,进入 AWS 控制台中的环境,然后点击软件配置的工具。应该有一个键值对,其中键为“RAILS_SKIP_ASSET_COMPILATION”,值为“false”。将其更改为“true”(或者如果它不存在,请输入它)。

    然后在您的应用中,编辑您的生产环境 (config/environments/production.rb),使其显示“config.assets.compile = false”。

    最后,在命令行中输入“rake assets:precompile”,然后将更改提交到您的 git 存储库,您应该一切顺利。如果您将来更改它们,请记住手动预编译您的资产。

    【讨论】:

    • 感谢您的回答。整整 3 天后,我的前端开发人员 (knucklehead) 放了一些带有有趣字符的奇怪 CSS 文件。该项目甚至不需要它。不用说,我删除了它,它就像一个魅力。浪费了 72 小时 :(
    猜你喜欢
    • 2017-12-17
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2021-09-10
    • 2014-07-05
    相关资源
    最近更新 更多