Sam 构建失败:构建失败错误:NodejsNpmBuilder:NpmPack - NPM 失败:npm ERR!代码 Z_DATA_ERROR

时间:2021-05-20 14:19:28

标签: node.js npm aws-lambda aws-sam aws-sam-cli

我正在学习如何在 aws 上创建 lambda。我正在关注this official tutorial

我运行的命令:

sam init(所有内容的默认值,我选择模板 8 - webapp 后端)

cd sam-app

sam build

我得到的输出是:

Building codeuri: /home/sam-app runtime: nodejs14.x metadata: {} functions: ['getAllItemsFunction', 'getByIdFunction', 'putItemFunction']
Running NodejsNpmBuilder:NpmPack

Build Failed
Error: NodejsNpmBuilder:NpmPack - NPM Failed: npm ERR! code Z_DATA_ERROR
npm ERR! errno -3
npm ERR! zlib: invalid distance too far back

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/username/.npm/_logs/2021-05-20T14_02_59_425Z-debug.log

节点版本:16.2.0

npm 版本:7.13.0

sam 版本:1.23.0

zlib 版本:1:1.2.11-4

我没有修改任何文件 - 它们都是由 sam 生成的。

3 个答案:

答案 0 :(得分:1)

尝试在容器中构建它。 采用 sam build -u

这对我有用,但我不确定为什么没有它就不能构建。

答案 1 :(得分:0)

也许在您的 template 文件中,您可能正在使用以下类型

Type: AWS::Lambda::Function

如果是这种情况,请将类型更改为以下

Type: AWS::Serverless::Function

答案 2 :(得分:0)

我在 wsl2 中遇到了同样的问题,我通过使用 nvm 安装较新版本的 nodejs(v14.17.1) 解决了这个问题 https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-wsl https://github.com/nvm-sh/nvm#git-install