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

升级Travis至Node.js 20部署Firebase Functions遇fsevents平台不兼容问题

解决Travis升级Node.js 20后部署Firebase Functions的fsevents平台兼容错误

升级Travis环境到Node.js 20后,部署Firebase Functions时触发以下平台兼容错误:

Build failed: npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin"} (current: {"os":"linux"})
npm ERR! notsup Valid os:  darwin
npm ERR! notsup Actual os: linux

当前相关配置:

  • .travis.yml
...
install: bash $HOME/build/ChangEdApps/changed-javascript/backend/shellScripts/travis-script.sh
language: node_js
node_js:
- '20'
dist: jammy
  • Travis脚本片段
npm i --prefix $PROJECT_DIR_PWD/web-apps/changed-admin-app/functions -f &&
npm i request firebase-functions --prefix $PROJECT_DIR_PWD/web-apps/changed-admin-app/functions &&

已尝试标记fsevents为可选依赖、使用--omit=optional、npm ci、删除package-lock.json等操作,但问题未解决。


方案1:调整npm安装命令,强制忽略平台差异

合并两次npm安装操作,并添加兼容参数:

npm install request firebase-functions --prefix $PROJECT_DIR_PWD/web-apps/changed-admin-app/functions --ignore-platform --omit=optional
  • --ignore-platform:跳过npm对平台兼容性的校验(npm 7+支持,Node.js 20对应npm 9完全兼容)
  • --omit=optional:直接跳过所有可选依赖安装,包括仅支持macOS的fsevents

方案2:在Functions的package.json中声明平台规则

在web-apps/changed-admin-app/functions/package.json中添加以下配置,明确指定项目适配平台并标记fsevents为可选:

"os": ["linux"],
"optionalDependencies": {
  "fsevents": "*"
}

npm安装时会自动识别当前平台,跳过不兼容的可选依赖。

方案3:让Firebase跳过云端构建,直接使用本地依赖

Firebase默认会在云端重新安装依赖,容易触发平台不兼容问题。部署时添加--no-build参数,直接使用Travis环境中已安装的Linux兼容依赖:

firebase deploy --only functions --no-build

注意:使用前需确保Travis已完成依赖安装并处理好平台兼容。

方案4:清理Travis缓存,移除旧依赖残留

Travis缓存可能残留了旧环境的node_modules或package-lock.json,导致安装逻辑异常:

方式A:修改.travis.yml禁用npm缓存

cache:
  npm: false
  directories:
    - $HOME/.npm

方式B:在Travis脚本开头添加清理步骤

rm -rf $PROJECT_DIR_PWD/web-apps/changed-admin-app/functions/node_modules $PROJECT_DIR_PWD/web-apps/changed-admin-app/functions/package-lock.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 10:31:26