You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Node.js后Vite本地正常但GitHub Pages CI构建失败求助

解决GitHub Pages CI中Node.js升级后Vite构建失败的问题

问题概述

升级Node.js至18.20.2后,本地Vite构建正常,但GitHub Pages CI构建报错找不到@rollup/rollup-linux-x64-gnu模块,提示需删除package-lock.json和node_modules后重新执行npm i,但不清楚如何在CI流水线中操作。

解决方案

1. 修改GitHub Actions工作流,添加依赖清理步骤

找到你的GitHub Pages CI工作流文件(通常位于.github/workflows/目录下,比如gh-pages.yml),在执行npm install或npm ci之前,添加清理旧依赖和lock文件的命令:

如果Vite项目在根目录:

- name: Clean and reinstall dependencies
  run: |
    rm -rf node_modules package-lock.json
    npm install

如果Vite项目在client子目录(匹配你的报错路径):

- name: Clean and reinstall dependencies in client directory
  run: |
    cd client
    rm -rf node_modules package-lock.json
    npm install

2. 确保CI环境使用正确的Node.js版本

在工作流中明确指定Node.js版本为18.20.2,避免版本不一致:

- name: Set up Node.js 18.20.2
  uses: actions/setup-node@v4
  with:
    node-version: '18.20.2'

3. 可选:临时禁用依赖缓存(若上述步骤无效)

如果CI启用了npm依赖缓存,可能残留旧版本依赖文件导致清理不彻底,可以暂时禁用缓存:

- name: Set up Node.js 18.20.2
  uses: actions/setup-node@v4
  with:
    node-version: '18.20.2'
    # 注释或删除缓存配置行
    # cache: 'npm'

原因说明

该报错源于npm处理可选依赖的已知问题,升级Node.js后,CI环境中可能残留了与新版本不兼容的node_modules或package-lock.json文件。本地环境因重新生成依赖文件正常,但CI流水线可能依赖缓存或旧lock文件,导致Rollup的Linux平台原生模块无法正确安装。强制清理后重新安装,可确保依赖与当前Node.js版本完全兼容。

内容的提问来源于stack exchange,提问作者user3146945

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 06:33:17