部署Rails 6.0到AWS EB,Webpacker需要Node.js版本错误。

问题描述 投票:0回答:1

我正在尝试将一个最近从rails 5.2更新到6的rails应用上传到AWS Elastic Beanstalk。我们有一个人在做这个工作,但由于大流行病,他不得不离开--现在我们的网站有点像在地狱里,我一直无法更新它。我已经搜索了许多不同的变化,我的问题,但没有解决方案尚未工作。

该应用程序在EB上运行的是rails 5.2。我的应用程序在本地6.0中运行。当我 部署 我得到这个错误。

MacBook-Pro:app $ eb deploy
Starting environment deployment via CodeCommit
--- Waiting for Application Versions to be pre-processed ---
Finished processing application version app-0e294-200420_110159
2020-04-21 00:22:24    INFO    Environment update is starting.      
2020-04-21 00:23:07    INFO    Deploying new version to instance(s).
2020-04-21 00:27:59    ERROR   [Instance: i-0e613ac1fe175f3f6] Command failed on instance. Return code: 1 Output: (TRUNCATED)...-- : Writing /var/app/ondeck/public/assets/application-06fe3df6175ba0def3d0e732489f883d0c09de.css.gz
Webpacker requires Node.js ">=10.13.0" and you are using v6.17.1
Please upgrade Node.js https://nodejs.org/en/download/
Exiting!. 
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.
2020-04-21 00:27:59    INFO    Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2020-04-21 00:28:00    ERROR   Unsuccessful command execution on instance id(s) 'i-0e613ac1fe175f3f6'. Aborting the operation.
2020-04-21 00:28:00    ERROR   Failed to deploy application.        

ERROR: ServiceError - Failed to deploy application.

在这之前,它给我带来了一个捆绑程序的错误,我可以通过添加一个文件到... ... .ebextensions 安装正确版本的捆绑程序。我想这个问题的解决方法应该是类似的。

这个帖子和我的问题很接近。在AWS弹性豆茎上使用webpacker gem部署rails react应用程序

所以我在我的.ebextensions中添加了这个文件,基于这个答案。

01_update_note.config

commands:
  01_download_nodejs:
    command: curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
  02_install_nodejs:
    command: yum -y install nodejs

然而,它似乎没有做任何事情,我仍然得到同样的错误。我尝试了一些其他博客文章中关于这个问题的文件的变化,但错误仍然存在。有谁能给我指出正确的方向,或者提供任何关于这个问题的见解?很抱歉,我对AWS或EB还不是很熟悉,但我会尽我所能回答更多的问题。

amazon-web-services ruby-on-rails-6 webpacker
1个回答
1
投票

也许是由于 yarn install 我尝试了以下脚本,并删除了 yarn install 然后设置 RAILS_SKIP_ASSET_COMPILATION=false 它为我工作。

commands:
  01_install_yarn:
    command: "sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo && curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash - && sudo yum install yarn -y"
  02_download_nodejs:
    command: curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
  03_install_nodejs:
    command: yum -y install nodejs
  04_install_packages:
    command: sudo yum install -y yarn
© www.soinside.com 2019 - 2024. All rights reserved.