首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS lambda中的c++错误?

问AWS lambda中的c++错误?
EN

Stack Overflow用户
提问于 2017-12-07 18:47:01
回答 2查看 879关注 0票数 1

我有一个lambda表达式,它可以很好地在localhost上使用serverless。

但是在使用lambda进行部署时,我遇到了以下错误:

代码语言:javascript
复制
"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)"
  ]

我还没有找到任何关于这方面的东西,那么,有没有人可以提供帮助呢?

EN

回答 2

Stack Overflow用户

发布于 2018-05-23 08:05:25

根据AWS documentation的说法

原生模块的安装和部署都是类似的,但是您需要根据Amazon Linux库构建它们。

因此,启动一个EC2实例,在那里构建您的项目,将其压缩,然后将其上传到Lambda。你使用的Amazon Linux AMI似乎会有所不同……可能是因为它们是不同的架构,或者有不同的库版本,或者别的什么。在我的例子中(使用x509模块构建一个NodeJS项目),Amazon Linux2AMI ( AMI -922914f7)无法工作;它导致的错误与您的非常相似。如果您尝试此方法,但它不起作用,请尝试在原始的Amazon Linux AMI (ami-2a0f324f)上重新构建它。在我这样做之后,它在Lambda中运行得很完美。

感谢@Tommaso提供了这个解决方案背后的灵感。

票数 1
EN

Stack Overflow用户

发布于 2017-12-21 21:22:22

当您将节点依赖项打包到具有不同架构的系统上时,会发生这种情况(由于某些依赖项具有在您的系统中编译的本机代码,这与AWS Lambda不同)

在将模块上传到亚马逊网络服务之前,先运行docker run -v "$PWD":/var/task lambci/lambda:build-nodejs6.10而不是npm install,以便在类似于AWS Lambda的环境中设置依赖项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47693281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档