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环境中的版本,这表明正确的版本与本地安装相同:

enter image description here

部署脚本:

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的平台上,并且一切正常。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...