【问题标题】:Elastic Beanstalk pre-deploy Laravel Node errorElastic Beanstalk 预部署 Laravel 节点错误
【发布时间】:2021-12-07 06:02:33
【问题描述】:

在我使用 GitHub 包之一时,在 Laravel 上部署 Elasticbean 茎的问题

https://github.com/rennokki/laravel-aws-eb

我在我的根项目中删除了 .ebextensions 和 .platform 文件夹。

当我部署并遇到错误时,我决定检查日志报告,它说这是由于 node.js

2021-10-20 10:48:34,072 [INFO] -----------------------Starting build-----------------------
2021-10-20 10:48:34,079 [INFO] Running configSets: Infra-EmbeddedPostBuild
2021-10-20 10:48:34,082 [INFO] Running configSet Infra-EmbeddedPostBuild
2021-10-20 10:48:34,086 [INFO] Running config postbuild_0_Ergnation_rowing
2021-10-20 10:48:34,103 [INFO] Command 00_copy_env_file succeeded
2021-10-20 10:48:36,241 [INFO] Command 01_install_composer_dependencies succeeded
2021-10-20 10:48:36,263 [ERROR] Command 02_install_node_dependencies (sudo npm install) failed
2021-10-20 10:48:36,263 [ERROR] Error encountered during build of postbuild_0_Ergnation_rowing: Command 02_install_node_dependencies failed
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 573, in run_config
    CloudFormationCarpenter(config, self._auth_config).build(worklog)
  File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 273, in build
    self._config.commands)
  File "/usr/lib/python3.7/site-packages/cfnbootstrap/command_tool.py", line 127, in apply
    raise ToolError(u"Command %s failed" % name)
cfnbootstrap.construction_errors.ToolError: Command 02_install_node_dependencies failed
2021-10-20 10:48:36,266 [ERROR] -----------------------BUILD FAILED!------------------------
2021-10-20 10:48:36,266 [ERROR] Unhandled exception during build: Command 02_install_node_dependencies failed
Traceback (most recent call last):
  File "/opt/aws/bin/cfn-init", line 176, in <module>
    worklog.build(metadata, configSets)
  File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 135, in build
    Contractor(metadata).build(configSets, self)
  File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 561, in build
    self.run_config(config, worklog)
  File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 573, in run_config
    CloudFormationCarpenter(config, self._auth_config).build(worklog)
  File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 273, in build
    self._config.commands)
  File "/usr/lib/python3.7/site-packages/cfnbootstrap/command_tool.py", line 127, in apply
    raise ToolError(u"Command %s failed" % name)
cfnbootstrap.construction_errors.ToolError: Command 02_install_node_dependencies failed

我决定检查文件,这个文件显示

02_install_node_dependencies:
    command: "sudo npm install"
    cwd: "/var/app/staging"

看来安装node.js的方法是正确的

我已尝试“Sudo yum install -y nodejs”并再次部署,但控制台日志一直显示错误sudo npm install,即使我删除它仍然显示错误 npm 问题

02_install_node_dependencies (sudo npm install) failed
2021-10-20 11:48:45,727 [ERROR] Error encountered during build of postbuild_0_Ergnation_rowing: Command 02_install_node_dependencies failed
Traceback (most recent call last):

【问题讨论】:

    标签: node.js laravel amazon-elastic-beanstalk amazon-linux amazon-linux-2


    【解决方案1】:

    如果您使用的是 Amazon Linux 2,我建议您使用 Hooks,因为您将拥有更多控制权。

    根据docs

    在 Amazon Linux 2 平台上,我们建议使用 Buildfile、Procfile、 和平台挂钩来配置和运行您的自定义代码 实例配置期间的环境实例。

    您仍然可以在 .ebextensions 中使用命令和容器命令 配置文件,但它们并不容易使用。为了 例如,在 YAML 文件中编写命令脚本可能具有挑战性 从语法的角度来看

    在这种情况下,在您的项目中创建以下文件

    .platform/hooks/prebuild/install_node_js.sh

    这是文件的内容:

    #!/bin/sh
    
    # Install  Node  alongside with the paired NPM release
    
    if [[ ! "$(node --version)" =~ "v12" ]]; then   
        sudo yum remove -y nodejs npm
    
        sudo rm -fr /var/cache/yum/*
    
        sudo yum clean all 
    
        curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
    
        sudo yum install nodejs -y
    fi
    

    就是这样,部署你的代码,你应该让 Node 启动并运行。

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 2015-09-18
      • 2016-03-04
      • 2019-02-22
      • 2021-08-28
      • 2017-10-04
      • 2014-12-16
      • 2020-04-25
      • 2017-12-09
      相关资源
      最近更新 更多