这是我第一次尝试在远程服务器上部署Web应用程序时。我选择Firebase来部署我的angularJs应用程序。这些是他们提供的步骤:
npm install -g firebase-tools
< ----已成功安装firebase init
< - 这里说这个操作需要登录。我继续下一步。 firebase login
< ----我得到以下内容:
Error: Cannot run login in non-interactive mode. See login:ci to generate a token for use in non-interactive environments.
我不知道“看登录:ci”是什么意思,但我试过了:
firebase login:ci
< ----我得到以下内容:“错误:无法以非交互模式运行login:ci。”我还写了question in their support groups,但还没有答案。
你知道我该怎么办?
我也打开尝试在其他服务器上部署。 (只要它们是免费的)
答案 0 :(得分:47)
我安装Firebase并尝试首次登录时收到了同样的错误。
要修复“无法在非交互模式下运行登录”的错误,我使用了交互模式:
firebase login --interactive
然后我在浏览器中授予了成功登录CLI的权限。
注意:我的平台是Windows 10和Git Bash,但我确信它也适用于其他平台。
答案 1 :(得分:9)
我正在使用Git中的shell(它通常接受cmd所做的所有命令),这就是问题所在。我切换到powerShell并且它有效。
答案 2 :(得分:0)
当您使用Git Bash登录Firebase CLI时会出现此问题,您可以使用其他工具进行测试,例如命令提示符(Windows上的CMD),在我的情况下显示我"已经以xxxxx @ gmail身份登录。 com",所以没有问题。
firebase login
答案 3 :(得分:0)
在 2021 年,您应该使用:
ng add @angular/fire
和:
ng deploy
但是,在 Windows Git bash 上它们不起作用。而是使用:
winpty node_modules/.bin/ng.cmd add @angular/fire
winpty node_modules/.bin/ng.cmd deploy
并将这些添加到您的 package.json 脚本中 - 参见 ng add @angular/fire error Cannot run login in non-interactive mode