You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CodeDeploy部署失败:after_install.sh脚本执行报错求助

解决AWS CodeDeploy AfterInstall脚本失败(puppeteer@1.20.0安装错误)

针对你遇到的root用户执行after_install.sh时退出码1、npm依赖缺失及puppeteer@1.20.0安装失败问题,以下是针对性解决方案:

1. 补全puppeteer依赖的系统库

puppeteer@1.20.0对系统底层库有严格依赖,即使你检查过通用包,也可能缺少这些必备组件。在before_install.sh或after_install.sh开头添加:

apt-get update && apt-get install -y libxss1 libasound2 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdbus-1-3 libdrm2 libgbm1 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxrandr2 libxrender1 libxtst6

这些库是puppeteer安装和运行的核心依赖,老版本无法自动适配缺失的库。

2. 允许root用户执行npm安装

npm默认限制root用户执行npm install(避免权限风险),这会导致puppeteer的install.js脚本无法正常运行。解决方法:

  • 在执行npm install时添加参数:
npm install --unsafe-perm=true
  • 或者在脚本开头设置全局环境变量:
export npm_config_unsafe_perm=true

3. 确保部署目录与环境兼容

  • 切换到部署目录后再执行npm命令:
cd /home/ubuntu/node/build/deployment && npm install --unsafe-perm=true
  • 验证Node.js和npm版本:puppeteer@1.20.0要求Node.js ≥8.9.0、npm ≥5.6.0,可在脚本中添加检查:
node -v && npm -v

4. 开启脚本调试定位问题

如果以上步骤无效,在after_install.sh第一行添加调试开关,捕获详细执行日志:

set -xe

该命令会打印每一步执行的命令和输出,你可以在AWS CodeDeploy的部署日志中查看具体失败环节。


内容的提问来源于stack exchange,提问作者Harihararaman M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:15:12