如何解决Codeship + Firebase函数:config:set = 404方法未找到
嗨,stackoverflow的好人!
背景
我有一个Angular 9
应用程序,并且配置了Codeship
的CI。一直运行良好,直到大约两周前,当我从Angular 7升级后突然停止工作。
设置命令:
nvm ls
nvm install v10.15.1
nvm use v10.15.1
gem install rb-inotify -v 0.9.10
gem install sass
npm install -g firebase-tools@6.12.0
npm i firebase-functions@3.3.0
yes | npm install -g @angular/cli@9.1.12
npm i
cd functions
nvm use v10.15.1
npm i
cd ..
哪个按预期运行。我已经使用npm outdated
检查了CI环境中的版本,这表明正确的版本与本地安装相同:
部署脚本:
firebase use default
firebase functions:config:set test="test" --token "$FIREBASE_TOKEN"
firebase deploy --token "$FIREBASE_TOKEN"
错误:
firebase use default
成功,但是firebase functions:config:set test="test" --token "$FIREBASE_TOKEN"
现在返回:
Error: HTTP Error: 404,Method not found.
注释:
我已经使用新的cli重置了$FIREBASE_TOKEN
,并可以确认这可能不是问题,因为当令牌不正确时(我从令牌中删除了最后一个字符),它将抛出一个说明这一点的其他错误。
我还可以确认同一脚本在本地运行并可以很好地部署-因此,尽管我可以通过这种方式解决问题,但这不是理想的解决方案,也不是长期解决方案。
任何想法或帮助都会得到真正的赞赏,因为我对下一步的工作有些迷茫。
解决方法
这似乎与firebase-tools
版本有关。当我安装与您安装的相同版本(6.12.0)时,出现了相同的错误。
我已经尝试过新版本(我有8.7.0),并且再加上一点评论也可以正常工作。当我尝试与您完全相同的命令时遇到错误:
Error: Invalid argument,each config value must have a 2-part key (e.g. foo.bar).
因此工作命令将如下所示:
firebase functions:config:set test.test="test"
如果您需要firebase-tools
的旧版本,我测试了其他几个版本,看来从7.1.0版本开始,这是可行的。
对于任何其他遇到此问题的人-我从未设法解决此抱歉。但是,我将CI迁移到了易于使用GitHub Actions的平台上,并且一切正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。