无法在 ElasticBeanstalk 上部署 Rails 5 VueJS 应用程序
Posted
技术标签:
【中文标题】无法在 ElasticBeanstalk 上部署 Rails 5 VueJS 应用程序【英文标题】:Unable to to deploy a Rails 5 VueJS app on ElasticBeanstalk 【发布时间】:2020-01-11 10:37:45 【问题描述】:我正在尝试将 VueJS rails 5 应用程序部署到 ElasticBeanstalk 上,当我尝试时遇到 EB 实例上的命令失败错误。
我尝试了一些建议,例如重新生成锁定文件,但无法通过下面显示的错误:
Command failed on instance. Return code: 1 Output: (TRUNCATED)...lation.
error @nuxt/opencollective@0.3.0: The engine "node" is incompatible with
this module. Expected version ">=8.0.0". Got "6.17.1" error Found
incompatible module. info Visit https://yarnpkg.com/en/docs/cli/install
for documentation about this command.
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/09_yarn_install.sh failed.
For more detail, check /var/log/eb-activity.log using console or EB CLI.
这里发生了什么,我怎样才能让部署工作?
谢谢
【问题讨论】:
【参考方案1】:这个问题的答案是 EBS 使用了像 6.X 这样的超级老版本的 NodeJS。
您需要在 /.ebextensions 中添加一些命令来删除旧的和更新。以下是我发现的特定于升级 NodeJS 的代码的一部分
# .ebextensions/fix_rails_6.config
commands:
00_remove_node_6_if_present:
command: "/bin/rm -rf /var/cache/yum && /usr/bin/yum remove -y nodejs && /bin/rm /etc/yum.repos.d/nodesource* && /usr/bin/yum clean all && rm -rf /var/cache/yum"
ignoreErrors: true
01_download_nodejs:
command: "curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -"
02_install_nodejs:
command: "yum -y install nodejs"
【讨论】:
以上是关于无法在 ElasticBeanstalk 上部署 Rails 5 VueJS 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
无法将多容器 docker 部署到 ElasticBeanstalk
由于 ImportError,Celery Django 部署因 Elastic Beanstalk 失败:无法导入名称“Celery”(ElasticBeanstalk::ExternalInvoc
在 ElasticBeanstalk 上部署多容器应用程序时出现 CannotPullContainerError
无法提供目录 /var/www/html/public/ [Laravel - Aws Elasticbeanstalk]