首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS SAM无法构建层

AWS SAM无法构建层
EN

Stack Overflow用户
提问于 2020-07-08 22:20:48
回答 2查看 981关注 0票数 0

我读到过,SAM现在支持构建层,并遵循了here中提到的说明。但是,当我尝试使用sam build samDeployLayer在本地构建图层时,会遇到构建错误

代码语言:javascript
复制
Build Failed
Error: NodejsNpmBuilder:NpmPack - NPM Failed: npm ERR! code ENOLOCAL
npm ERR! Could not install from "E:\Development\sam-deploy\src\sam-deploy-layer" as it does not contain a package.json file.

下面是我的模板文件:

代码语言:javascript
复制
AWSTemplateFormatVersion: 2010-09-09
Description: >-
  sam-deploy
Transform:
- AWS::Serverless-2016-10-31
Resources:
  samDeploy:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: src/sam-deploy
      Handler: index.handler
      Runtime: nodejs12.x
      MemorySize: 128
      Timeout: 100
      Description: A Lambda function that returns a static string.
      FunctionName: "sam-deploy"
      Layers:
        - !Ref samDeployLayer
      Policies:
        # Give Lambda basic execution Permission to the helloFromLambda
        - AWSLambdaBasicExecutionRole
  samDeployLayer:
    Type: AWS::Serverless::LayerVersion
    Properties:
      LayerName: sam-deploy-layer
      ContentUri: src/sam-deploy-layer
      CompatibleRuntimes:
        - nodejs12.x
    Metadata:
      BuildMethod: nodejs12.x

根据构建层的要求,我已经包含了CompatibleRuntimesMetadata属性。这一层的package.json位于src/sam-deploy-layer/nodejs,这是nodeJS运行时所需的,我使用的是SAM version0.53.0。我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2021-04-13 08:51:00

package.json放在src/sam-deploy-layer/下。在运行sam build之后,应该创建目录.aws-sam/build/samDeployLayer/nodejs/node_modules/

票数 0
EN

Stack Overflow用户

发布于 2021-04-13 08:57:50

您应该在src/sam-deploy-layer中创建一个名为nodejs的文件夹。在这里,您可以执行npm init和npm install (在您的层中安装包)。

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

https://stackoverflow.com/questions/62796961

复制
相关文章

相似问题

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