GitHub Actions中Node.js任务持续失败,本地已装最新Node(v18.14.0)求助
解决GitHub Actions中Node.js CI任务失败的问题
你的Workflow配置里publish任务存在致命错误:publish任务没有定义matrix配置,但你在actions/setup-node步骤里引用了${{ matrix.node-version }},这个变量不存在,直接导致任务失败。
第一步:修复publish任务的Node.js版本配置
把publish任务里的node-version改成明确的版本(比如和你本地一致的18.x),或者如果需要复用quality任务的matrix,需要给publish任务也添加matrix配置。以下是修复后的publish任务代码:
publish: runs-on: ubuntu-latest if: ${{ github.ref == 'refs/heads/main' }} needs: [quality] steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 18.x # 改为明确的Node.js版本,和本地保持一致 - run: npm install - run: npm run semantic-release env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
其他排查方向
如果修复后仍失败,继续检查以下几点:
- 本地执行
npx semantic-release --dry-run,验证semantic-release的配置是否能正常运行,排除配置本身的问题 - 确认仓库的
NPM_TOKEN和GITHUB_TOKEN权限:NPM_TOKEN需要拥有对应包的发布权限,GITHUB_TOKEN需要有仓库的读写权限 - 检查package.json中的依赖是否和指定的Node.js版本兼容,比如某些依赖在14.x/16.x版本下可能存在兼容性问题,可在quality任务的失败日志中查看具体报错
- 尝试用
npm ci替代npm install,利用缓存提升稳定性同时避免版本不一致
内容的提问来源于stack exchange,提问作者Sandi-s
相关产品推荐
相关产品推荐

