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

GitHub Actions执行npm ci报watchpack-chokidar2:fsevents绑定不可访问错误如何解决

错误原因
  • fsevents 是仅适配 macOS 系统的可选依赖,用于提供高性能的文件系统监听能力,而你的 GitHub Actions 运行环境为 Ubuntu,本身不支持该依赖。
  • 你本地的开发环境大概率是 macOS,生成的 package-lock.json 文件中将 fsevents 作为 watchpack-chokidar2 的依赖进行了锁定。npm ci 命令会严格按照锁文件安装依赖,Node.js 14.x 配套的默认 npm 版本对跨平台可选依赖的兼容处理存在缺陷,不会自动跳过当前系统不支持的可选依赖,因此触发报错。
解决办法

推荐优先使用第一种方案,改动最小且完全适配你的使用场景:

方案一:给 npm ci 增加跳过可选依赖的参数

你只需要修改 .github/workflows/eslint.yaml 中执行 npm ci 的行,加上 --no-optional 参数即可,你的 CI 仅需要执行 ESLint 检查,不需要用到文件监听相关的可选依赖,跳过安装完全不影响流程运行。
修改后的配置示例:

name: ESLint

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js
        uses: actions/setup-node@v1
        with:
          node-version: '14.x'
      - run: npm ci --no-optional
      - run: npm run lint

方案二:升级 npm 到 7.x 及以上版本

新版 npm 优化了跨平台可选依赖的处理逻辑,会自动跳过当前系统不兼容的可选依赖。可以在安装依赖前增加升级 npm 的步骤:

- run: npm install -g npm@8
- run: npm ci

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:09:02