升级Node.js v20后Github Actions执行失败求助
问题
为使用Supabase Edge Functions的仓库创建GitHub Workflow时,遇到以下错误:
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/setup-node@v3.
即使在Workflow中指定了Node.js 20.x版本,该错误仍未解决。当前的Workflow文件内容如下:
# .github/workflows/deploy-supabase-functions.yml name: Deploy Supabase Functions on: push: branches: - main workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest env: SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} PROJECT_ID: *** steps: - uses: actions/checkout@v3 - name: Use Node.js 20.x uses: actions/setup-node@v3 with: node-version: 20.x - uses: supabase/setup-cli@v1 with: version: latest - run: supabase functions deploy --project-ref ***
解决方案
错误核心原因是你使用的actions/checkout@v3和actions/setup-node@v3这两个Action本身基于Node.js 16开发,GitHub已废弃Node.js 16环境的Action。你指定的node-version: 20.x仅设置后续步骤运行代码的Node版本,不会改变这两个Action自身的运行环境。
只需将这两个Action的版本升级到支持Node.js 20的最新版本即可解决问题,修改后的Workflow文件如下:
# .github/workflows/deploy-supabase-functions.yml name: Deploy Supabase Functions on: push: branches: - main workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest env: SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} PROJECT_ID: *** steps: - uses: actions/checkout@v4 # 升级到v4版本 - name: Use Node.js 20.x uses: actions/setup-node@v4 # 升级到v4版本 with: node-version: 20.x - uses: supabase/setup-cli@v1 with: version: latest - run: supabase functions deploy --project-ref ***
内容的提问来源于stack exchange,提问作者Doolan
相关产品推荐
相关产品推荐

