将 nodejs 应用程序部署到 AWS elastic beanstalk 时出现严重依赖性错误

ERROR with sharp dependency when deploying nodejs app to AWS elastic beanstalk

我是AWS新手,很早就遇到过这个问题。 我在 AWS 中创建了一个 EB 环境和一个代码管道。因此,每当我将某些内容推送到存储库时,应用程序就会被部署。所以现在我只有一个“Hello world”node.js 应用程序,但我想稍后安装 sharp npm 依赖项。当我将依赖项放入 package.json 文件并将其推送到存储库时,出现以下错误: error on deployment。 我做了很多谷歌搜索,我认为这与设置权限以安装 sharp 依赖项有关。但是,到目前为止,我发现的解决方案中有 none 行之有效。 如果有任何不清楚的地方,我深表歉意并让我知道:)。

请参考我在以下 GitHub 问题 (Fails to install on AWS ElasticBeanstalk with node16 #3221) 中提供的“解决方法”解决方案以获得完整解释。

解法:

  1. 在应用程序包的根目录中创建以下 Platform Hooks 路径。
  • .platform/hooks/prebuild
  • .platform/confighooks/prebuild
  1. 创建以下具有执行权限 (chmod +x) 的 bash 脚本 (00_npm_install.sh)。
#!/bin/bash
cd /var/app/staging
sudo -u webapp npm install sharp
  1. 验证应用程序包结构。

例如。示例项目结构:

~/my-app/
├── app.js
├── index.html
├── .npmrc_bkp
├── package.json
├── package-lock.json
├── .platform
│   ├── confighooks
│   │   └── prebuild
│   │       └── 00_npm_install.sh
│   └── hooks
│       └── prebuild
│           └── 00_npm_install.sh
└── Procfile
  1. 部署应用程序!

希望对您有所帮助!