Serverless安装后CircleCI找不到Serverless Framework

CircleCI cannot find Serverless Framework after serverless installation

我正在尝试使用 Serverless Compose 通过 CircleCI 将多项服务部署到 AWS。我有 3 个 POC 测试服务,到目前为止,从终端将这些服务部署到个人 AWS 账户工作得很好。但是,当我将其配置为使用 config.yml 文件通过 CircleCI 时,出现此错误:

Could not find the Serverless Framework CLI installation. Ensure Serverless Framework is installed before continuing.

我很困惑,因为我的 config.yml 文件如下所示:

version: 2.1
orbs:
  aws-cli: circleci/aws-cli@3.1.1
  serverless-framework: circleci/serverless-framework@2.0.0
  node: circleci/node@5.0.2

jobs: 
  deploy:
    parameters:
      stage: 
        type: string
    executor: serverless-framework/default
    steps:
      - checkout
      - aws-cli/install
      - serverless-framework/setup
      - run:
          command: serverless config credentials --provider aws --key $AWS_ACCESS_KEY_ID --secret $AWS_SECRET_ACCESS_KEY
          name: Configure serverless
      - run:
          command: npm install @serverless/compose
          name: Install @serverless/compose
      - run:
          command: serverless deploy --stage << parameters.stage >>
          name: Deploy staging

workflows:
  deploy-staging:
    jobs:
      - node/test:
          version: 17.3.0
      - deploy:
          context: aws-*******-developers
          name: ******-sandbox-use1
          stage: staging

serverless框架搭建完成,orb存在,但是提示找不到。所有步骤都成功,直到我到达 deploy staging。我一直在研究文档,但我似乎无法找到 CircleCI 哪里出了问题。有谁知道我可能遗漏了什么?

原来这需要一个奇怪的修复,但最好删除以下内容:

  • 球体serverless-framework: circleci/serverless-framework@2.0.0
  • 作业中的设置步骤- serverless-framework/setup
  • Configure Serverless步骤

删除这些后,将 Install @serverless/compose 步骤修改为 运行 npm install 并安装所有软件包。然后 运行 npx serverless deploy 而不是 serverless deploy。这解决了我的问题。