运行 puppeteer-core AWS 层时出错

Error when running puppeteer-core AWS layer

当我尝试为 AWS 创建 puppeteer-core 层时,我不是 100% 的问题所在。在 Linux 盒子上,我安装包,将其压缩,然后在 AWS Lambda 中创建一个层。

ubuntu@ip-172-30-0-25:~$ npm i puppeteer-core
ubuntu@ip-172-30-0-25:~$ npm pack ./node_modules/puppeteer-core/
npm notice 
npm notice   puppeteer-core@1.11.0 
npm notice === Tarball Contents === 
puppeteer-core-1.11.0.tgz

然后我创建 .zip 文件以上传到 AWS 层

mkdir --parents nodejs/node_modules/puppeteer-core-1.11.0/ && \
tar --directory nodejs/node_modules/puppeteer-core-1.11.0/ --extract --file 
puppeteer-core-1.11.0*.tgz --strip-components=1 && \
rm puppeteer-core-1.11.0*.tgz && \
zip -9 --filesync --move --recurse-paths _/puppeteer-core.zip nodejs/

但是我在尝试 运行 这个 sample code 时收到以下错误,这让我觉得在创建包时缺少某些东西?

{
  "errorMessage": "Cannot find module 'debug'",
  "errorType": "Error",
  "stackTrace": [
    "Function.Module._load (module.js:474:25)",
    "Module.require (module.js:596:17)",
    "require (internal/module.js:11:18)",
    "Object.<anonymous> (/opt/nodejs/node_modules/puppeteer-core-1.11.0/lib/helper.js:18:20)",
    "Module._compile (module.js:652:30)",
    "Object.Module._extensions..js (module.js:663:10)",
    "Module.load (module.js:565:32)",
    "tryModuleLoad (module.js:505:12)",
    "Function.Module._load (module.js:497:3)"
  ]
}

我缺少 NPM 为 nodejs/node_modules 中的 puppeteer-core 包安装的依赖项(调试是第一个)。确保在你的层中包含这些依赖项,它应该可以工作。