我正在关注flutter+firebase代码实验室,我一直在安卓应用程序中配置firebase,我已经在我的机器上全局安装了flutterfirecli,并在我的路径中导出了bin。
export PATH="$PATH:~/source/flutter/bin"
export PATH="$PATH":"$HOME/.pub-cache/bin"
但是,当我尝试使用flatterfirecli时,仍然会出现以下错误。
flutterfire
/home/dio/.pub-cache/bin/flutterfire: 8: dart: not found
这个错误让我相信dart没有安装在我的系统上,而是。。。。
dart
A command-line utility for Dart development.
Usage: dart <command|dart-file> [arguments]
Global options:
-h, --help Print this usage information.
-v, --verbose Show additional command output.
--version Print the Dart SDK version.
--enable-analytics Enable analytics.
--disable-analytics Disable analytics.
Available commands:
analyze Analyze Dart code in a directory.
compile Compile Dart to various formats.
create Create a new Dart project.
devtools Open DevTools (optionally connecting to an existing application).
doc Generate API documentation for Dart projects.
fix Apply automated fixes to Dart source code.
format Idiomatically format Dart source code.
migrate Perform null safety migration on a project.
pub Work with packages.
run Run a Dart program.
test Run tests for a project.
Run "dart help <command>" for more information about a command.
See https://dart.dev/tools/dart-tool for detailed documentation.
Flutter刮刀输出:
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 2.13.0-0.0.pre.271, on Pop!_OS 22.04 LTS 5.16.19-76051619-generic, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Android Studio (version 2021.1)
[✓] Android Studio
[✓] VS Code (version 1.66.2)
[✓] Connected device (1 available)
[✓] HTTP Host Availability
我也遇到了同样的问题,所以我查看了在bash中存储flutter fire命令代码的文件。
此文件存储在~/.pub缓存/bin中/我查了这个文件里的代码。代码的基本作用是,它将您给出的任何命令传递给另一个命令
dart pub global run flutterfire_cli:flutterfire{your command}
所以,如果你想运行一个命令,比如flutterfire configure
,你可以这样运行,
dart pub global run flutterfire_cli:flutterfire configure
我希望这个答案有帮助!!。
我可以通过直接调用bin来解决这个问题,如下所示:
dart /home/foo/.pub-cache/global_packages/flutterfire_cli/bin/flutterfire.dart-2.17.0-239.0.dev.snapshot configure
这很奇怪,因为我通过在~/.pub-cache/bin/flutterfire
中指定的相同路径调用cli
dart "/home/foo/.pub-cache/global_packages/flutterfire_cli/bin/flutterfire.dart-2.17.0-239.0.dev.snapshot" "$@"
您可以从/home/YOUR_USERNAME/.pub cache/bin/flatterfire文件中删除第一行,并且flatterFire命令应该可以正常工作。
删除此行:
#!/usr/bin/env sh
保留其余
另外,检查一下这个修改后的路径,虽然对我不起作用。
- 首先确保您位于要在flutter中使用的项目的目录中
- 接下来使用此链接安装node.js(我们使用的是最新版本):https://nodejs.org/en/
- 然后使用以下命令安装firebase工具:
npm install -g firebase-tools
- 通过运行
firebase --version
确保firebase在您的路径上 - 确保颤动在你的路上。您可以通过进入finder并定位flutter sdk来完成此操作。定位后,右键单击getInfo,然后您将看到"其中";,然后右键单击并复制路径。返回同一终端窗口并使用此命令导出
PATH="$PATH:[PATH_TO_FLUTTER_SDK]/flutter/bin"
- 通过运行
flutter doctor
检查它是否真的在您的路径上 - 接下来,您要通过运行以下命令
rm pubspec.lock
来删除名为pubspec.lock
的文件 - 最后运行此命令安装扑动火力的所有工具:
dart pub global activate flutterfire_cli
您现在应该可以使用它了。一些有用的链接如下https://firebase.flutter.dev/docs/cli/https://firebase.google.com/docs/cli?authuser=0&hl=en#登录测试cli