开始使用Serverless GitHub Action(https://github.com/serverless/github-action)。我在配置文件中有几个插件,所以需要遵循他们在README中提供的指导。但是,我得到了一个serverless not found
错误。我已经打开了一个issue,但还没有回应,所以认为这将是我的下一个社区要求。
配置文件:
name: Deploy main branch
on:
push:
branches:
- main
jobs:
deploy:
name: deploy
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- name: serverless deploy
uses: serverless/github-action@v3.2
with:
args: -c "cd backend/endpoints && \
serverless plugin install -n serverless-deployment-bucket && \
serverless plugin install -n serverless-python-requirements && \
serverless plugin install -n serverless-iam-roles-per-function && \
serverless plugin install -n serverless-offline && \
serverless deploy"
entrypoint: /bin/sh
env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
但得到以下错误:
/bin/sh: 1: serverless: not found
不确定package.json
文件中需要包含哪些内容?我添加了serverless
作为一个dep,但仍然是同样的错误。
1条答案
按热度按时间wf82jlnq1#
Tl;Dr
在serverless命令前面加上npm execution命令(参考:npx)
说明
看起来shell在您将其作为依赖项安装后无法找到该命令。
这是由于本地安装的依赖项不会在其安装上下文之外提供cli命令。这也是为什么你会发现命令行工具总是在它们的安装说明中设置了“-g”标志。
要使用本地安装的任意命令,必须使用包管理器附带的执行库(npx)。