为什么我的lambda无法识别node_modules中的依赖项?

时间:2020-08-23 00:19:51

标签: node.js amazon-web-services aws-lambda

我已经使用Github Actions创建了一个lambda管道。该管道的一部分包括将lambda文件和依赖项从我的Github Actions容器压缩并上传到AWS。

调用lambda时,遇到导入错误:

{
    "errorType": "Runtime.ImportModuleError",
    "errorMessage": "Error: Cannot find module 'axios'\nRequire stack:\n- /var/task/index.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js",
    "stack": [
        ...
    ]
}

我的lambda文件夹结构正确,并且以前能够成功执行。我对package.json进行了两次,三次,四次检查-axios在那儿。我什至在AWS Lambda控制台中看到node_modules/axios。我无法在本地重现该错误。

1 个答案:

答案 0 :(得分:0)

原来,我需要chmod -R 777 .,然后才能压缩和上传lambda代码作为部署管道的一部分。

我以前是chmod -R 744 .,但那并没有减少。

只有当我将依赖项作为node_modules的一部分时,这才成为问题。

如果您确切知道必要的chmod级别,请在下面评论。

相关问题