AWS lambda中的C 错误
c++ error in AWS lambda?
我有一个lambda表达式,可与Localhost上的无server -nocal -ploss.
一起使用。但是在使用lambda部署时,我有以下错误:
"errorMessage": "/var/lang/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /var/task/node_modules/scrypt/build/Release/scrypt.node)",
"errorType": "Error",
"stackTrace": [
"Module.load (module.js:487:32)",
"tryModuleLoad (module.js:446:12)",
"Function.Module._load (module.js:438:3)",
"Module.require (module.js:497:17)",
"require (internal/module.js:20:19)",
"Object.<anonymous> (/var/task/node_modules/scrypt/index.js:3:20)",
"Module._compile (module.js:570:32)",
"Object.Module._extensions..js (module.js:579:10)",
"Module.load (module.js:487:32)",
"tryModuleLoad (module.js:446:12)",
"Function.Module._load (module.js:438:3)",
"Module.require (module.js:497:17)",
"require (internal/module.js:20:19)",
"Object.<anonymous> (/var/task/node_modules/scrypt.js/node.js:1:76)",
"Module._compile (module.js:570:32)",
"Object.Module._extensions..js (module.js:579:10)",
"Module.load (module.js:487:32)",
"tryModuleLoad (module.js:446:12)",
"Function.Module._load (module.js:438:3)",
"Module.require (module.js:497:17)"
]
我找不到有关此的任何信息,所以有人能为此提供帮助吗?
根据AWS文档,
本机模块类似地安装和部署,但是您需要 要与Amazon Linux库建立它们。
因此,请旋转一个EC2实例,在那里构建您的项目,将其拉链,然后将其上传到Lambda。您使用的Amazon Linux AMI似乎有所作为……可能是因为它们是不同的架构或具有不同的库版本或其他内容。在我的情况下(使用X509模块构建Nodejs项目),Amazon Linux 2 AMI(AMI-922914F7)无效;导致错误与您的错误非常相似。如果您尝试此操作并且不起作用,请尝试在原始的Amazon Linux AMI(AMI-2A0F324F)上重新构建它。我这样做之后,它在lambda中完美运行。
感谢@Tommaso在此解决方案背后的灵感。
当您在具有不同体系结构的系统上打包节点依赖项时,就会发生这种情况(由于某些与AWS Lambda不同的本机代码不同的依赖性依赖项)
运行 docker run -v "$PWD":/var/task lambci/lambda:build-nodejs6.10
而不是npm install
在将模块包装到AWS之前,将依赖项设置在AWS lambda的环境中。
相关文章:
- 删除映射和分割错误中的一个过去结束元素
- C++类错误中的模板专用化
- 模板元编程,简历资格错误中的冲突
- Cpp 错误中的<<运算符
- 功能错误中的表达语法帮助!C/C
- Cython将扩展模块传递到to_py_call_code错误中的python reults
- 在测试网上部署智能合约时合约错误中的未知操作 hi
- C 错误中的pronic号码
- 循环和运行时错误中的C 变量声明
- C++ 分段错误中的命令行参数
- 映射引发错误中的 C++ 自定义对象
- MSVC11 错误中的 x64 位 asm
- C++错误中的复合 [没有匹配调用 'push_back'的成员函数]
- 包括Code::Blocks错误中的多个标头
- c++编译器错误中的简单类继承
- 获取Openssl证书错误中的错误字符串
- <Mat> 函数逻辑错误中的向量传递
- 分配错误中的非 Ivalue
- 链接器错误中的"Symbol from plugin"
- 赋值错误中的非左值