通过脚本、fsevents darwin 部署 firebase 时,travis 中的环境不受支持

问题描述 投票:0回答:1

我正在将 travis 环境升级到节点 20。我有一个正在部署 firebase 功能的脚本。

这是我的.travis.yml

...
install: bash $HOME/build/ChangEdApps/changed-javascript/backend/shellScripts/travis-script.sh
language: node_js
node_js:
- '20'
dist: jammy

这是错误

i  functions: preparing functions directory for uploading...
i  functions: packaged /home/travis/build/ChangEdApps/changed-javascript/web-apps/changed-admin-app/functions (149.81 KB) for uploading
✔  functions: functions folder uploaded successfully
i  functions: updating Node.js 20 (1st Gen) function app(us-central1)...
Build failed: npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for [email protected]: wanted {"os":"darwin"} (current: {"os":"linux"})
npm ERR! notsup Valid os:  darwin
npm ERR! notsup Actual os: linux

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,我尝试手动更改包 -锁定linux而不是darwin。我尝试过审计和清理。通过删除包锁并在 travis env 中执行 npm i,我什至不确定它是从哪里获取 darwin 的。

似乎没有任何作用。

node.js firebase npm google-cloud-functions travis-ci
1个回答
0
投票

所以我最终分三步完成了这件事

1

rm package-lock.json

2

npm i ...

3 完成后,

sed -i 's/darwin/linux/g' $PROJECT_DIR_PWD/package-lock.json

这最终让我能够从 travis 部署 firebase 功能

© www.soinside.com 2019 - 2024. All rights reserved.