如何在GitHub Actions工作流步骤中带环境变量调用npm脚本?
解决GitHub Actions中npm脚本无法获取环境变量的问题
问题根源
GitHub Actions里每个run步骤都是独立的shell会话,单独步骤中export的环境变量只会在当前步骤的进程里生效,无法传递到下一个run步骤,所以你的npm run dev拿不到之前export的RENDERER变量。
直接前置变量到npm命令的方法
把RENDERER=${{ inputs.renderer }}直接放在npm run dev命令前,这样变量会在执行npm脚本的shell进程中生效,Node.js就能通过process.env.RENDERER读取到:
修改工作流里的Test output步骤:
- name: Test output run: RENDERER=${{ inputs.renderer }} npm run dev
其他可选解决方案
- 用步骤的
env字段定义变量
这种方式更直观,适合需要传递多个变量的场景:
- name: Test output env: RENDERER: ${{ inputs.renderer }} run: npm run dev
- 设置全局共享的环境变量
如果这个变量需要在多个后续步骤中使用,可以写入GITHUB_ENV,后续所有步骤的进程都能读取到:
- name: Set environment variable for renderer run: echo "RENDERER=${{ inputs.renderer }}" >> $GITHUB_ENV - name: Test output run: npm run dev
内容的提问来源于stack exchange,提问作者baitendbidz
相关产品推荐
相关产品推荐

