FlutterFire 配置 CLI 需要官方 Firebase CLI

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

我在为我的项目配置 Flutter Fire 时遇到问题。我使用 npm install -g firebase-tools --force 安装,然后尝试 > dart pub global activate flutterfire_cli 但我仍然有 CLI 问题。我可以登录并查看版本,但无法运行 flutterfire configure

FirebaseCommandException: An error occured on the Firebase CLI when attempting to run a command.
COMMAND: firebase --version 
ERROR: The FlutterFire CLI currently requires the official Firebase CLI to also be installed, see https://firebase.google.com/docs/cli#install_the_firebase_cli for how to install it.


阅读完 stackoverflow 和互联网上的所有主题后,我无法解决我的问题,有什么想法吗? 运行 npm install -g firebase-tools 我得到了这个:

>  npm install -g firebase-tools
C:\Users\loveh\.cache\firebase\tools\firebase -> C:\Users\loveh\.cache\firebase\tools\node_modules\firebase-tools\lib\bin\firebase.js
+ [email protected]
updated 1 package in 11.091s

现在出现这个错误:

⠋ Fetching available Firebase projects...
Unhandled exception:
FormatException: Unexpected character (at character 1)
#
^

#0      _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1383:5)
#1      _ChunkedJsonParser.parseNumber (dart:convert-patch/convert_patch.dart:1250:9)
#2      _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:915:22)
#3      _parseJson (dart:convert-patch/convert_patch.dart:35:10)
#4      JsonDecoder.convert (dart:convert/json.dart:612:36)
#5      runFirebaseCommand (package:flutterfire_cli/src/firebase.dart:95:25)
<asynchronous suspension>
#6      getProjects (package:flutterfire_cli/src/firebase.dart:114:7)
<asynchronous suspension>
#7      ConfigCommand._selectFirebaseProject (package:flutterfire_cli/src/commands/config.dart:264:24)
<asynchronous suspension>
#8      ConfigCommand.run (package:flutterfire_cli/src/commands/config.dart:351:37)
<asynchronous suspension>
#9      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#10     main (file:///C:/Users/loveh/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/flutterfire_cli-0.2.2+2/bin/flutterfire.dart:57:5)
<asynchronous suspension>

新闻

 npm install -g firebase-tools
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/d
ebug/issues/797)
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142

changed 691 packages, and audited 692 packages in 36s

38 packages are looking for funding
  run `npm fund` for details

25 vulnerabilities (15 moderate, 10 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

flutter command-line-interface
6个回答
2
投票

删除之前安装的

firebase.exe
并仅依赖通过
firebase
安装的
npm install -g firebase-tools

该问题是由于安装冲突造成的。


2
投票

如果出现

FormatException: Unexpected character (at character 1)
错误,请查看 flutter 主文件夹中是否有 firebase.exe 文件。这是我的问题。删除文件后,
flutterfire configure
工作没有问题。

澄清: 由于之前的错误修复尝试,我已将 firebase-cli 二进制文件 (firebase-tools-instant-win.exe) 添加到我的 flutter 项目的主文件夹中,并将其重命名为 firebase.exe。如果您没有这样做,那么您的 flutter 主文件夹中应该没有 firebase 二进制文件。


1
投票

在与大量错误作斗争后,通过执行以下操作为我解决了问题

  1. 使用nvm安装最新节点
  2. 使用 prefix 命令更改 Windows PC 上软件包的默认目录。对我来说,我在这里创建了目录 %appdata%.npm-global 并转到该目录,然后使用 prefix 命令设置 npm 全局包的默认值
  3. 确保此路径位于您的 Windows PATH 中
  4. 安装 firebase 工具 npm install -g firebase-tools
  5. 安装flutterfire cli dart pub全局激活flutterfire_cli
  6. cd 到我的 flutter 应用程序目录
  7. 从命令提示符 firebase 登录
  8. 输入 flutterfire 配置

确保您没有下载 Windows exe,因为在运行 firebase/flutterfire 时可能会发生冲突。对我来说,诀窍是确保我使用 nvm 来安装 npm,将 npm global 的默认目录安装设置为默认目录以外的目录。我相信这是一个许可问题。


0
投票

只需将您的平台更新到最新版本 [windows 或 linux 或 mac] 它对我有用,希望它对某人有帮助


0
投票

对我来说,这是通过在 cmd 本身运行命令而不是在 Android Studio 的内部终端中运行命令来解决的。

但是


0
投票

适用于 Windows 11 的解决方案 2023

  1. 下载独立二进制文件 Firebase CLI 可执行文件 (
    firebase-tool-instant-win.exe
    ) 到“下载”文件夹
  2. 从下载运行可执行文件。不要移动它或重命名它,这会因为某种原因让它不高兴。也许它不想在第一次运行后被移动。没有把握。如果你真的想移动它,我想在运行它之前就这样做,风险自负!

您应该看到如下输出:

  1. 在 Firebase CLI 中使用

    cd
    (更改目录)命令访问 flutter 项目文件夹,与在 Windows cmd 中执行的操作相同。

  2. 仍然在 Firebase CLI 中运行以下命令:

    dart pub global activate flutterfire_cli

  3. 如果输出显示

    C:\Users\[USER]\AppData\Local\Pub\Cache\bin
    不在您的路径上,您必须将其添加到路径中,然后重新启动电脑。要将其添加到您的路径中,请在 Windows 控制面板中搜索“路径”

别忘了重新启动!

  1. 如果您必须重新启动才能添加路径,请重复 #2 中的步骤
  2. 最后运行此命令(也在 Firebase CLI 中):
    flutterfire configure
© www.soinside.com 2019 - 2024. All rights reserved.