将 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) 中提供的“解决方法”解决方案以获得完整解释。
解法:
- 在应用程序包的根目录中创建以下 Platform Hooks 路径。
- .platform/hooks/prebuild
- .platform/confighooks/prebuild
- 创建以下具有执行权限 (chmod +x) 的 bash 脚本 (00_npm_install.sh)。
#!/bin/bash
cd /var/app/staging
sudo -u webapp npm install sharp
- 验证应用程序包结构。
例如。示例项目结构:
~/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
- 部署应用程序!
希望对您有所帮助!
我是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) 中提供的“解决方法”解决方案以获得完整解释。
解法:
- 在应用程序包的根目录中创建以下 Platform Hooks 路径。
- .platform/hooks/prebuild
- .platform/confighooks/prebuild
- 创建以下具有执行权限 (chmod +x) 的 bash 脚本 (00_npm_install.sh)。
#!/bin/bash
cd /var/app/staging
sudo -u webapp npm install sharp
- 验证应用程序包结构。
例如。示例项目结构:
~/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
- 部署应用程序!
希望对您有所帮助!