使用Semantic Release和GitHub Actions发布Storybook组件至NPM遇Node版本问题
问题根源
你本地的Node.js版本和GitHub Actions的运行环境是完全隔离的,报错里的v12.22.12是GitHub-hosted runner自带的默认Node版本,和你本地的16.x没关系。GitHub的默认runner环境如果没手动指定Node版本,会用较旧的版本,刚好达不到semantic-release的要求。
解决步骤
- 打开你的GitHub Actions工作流文件(通常在
.github/workflows/目录下,比如release.yml),在代码检出步骤之后,添加setup-node动作来指定Node版本:steps: - uses: actions/checkout@v4 # 新增这一步锁定Node版本 - name: Setup Node.js 16.x uses: actions/setup-node@v4 with: node-version: '16' # 也可以写具体版本号,比如16.20.2 # 继续后续的依赖安装和release步骤 - run: npm install - run: npx semantic-release - 如果你用的是semantic-release的官方Action,同样需要先通过
setup-node指定版本,因为Action本身不会自动切换Node环境。
验证方式
可以在工作流里加一步打印Node版本,确认环境配置正确:
- name: Verify Node version run: node -v
重新触发工作流后,这一步的输出应该显示16.x,之后semantic-release就能正常运行了。
内容的提问来源于stack exchange,提问作者Toan Lam
相关产品推荐
相关产品推荐

