简体   繁体   中英

Flutterfire throws a dart not found error

I'm following the flutter + firebase codelab, and I'm stuck at configuring firebase in my android app, I've already installed the flutterfire cli globally on my machine and exported the bin in my path.

export PATH="$PATH:~/source/flutter/bin"
export PATH="$PATH":"$HOME/.pub-cache/bin"

But still, the following error is thrown when I try to use the flutterfire cli.

flutterfire
/home/dio/.pub-cache/bin/flutterfire: 8: dart: not found

This error leads me to believe that dart is not installed on my system but....

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 doctor output:

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

I was able to work around this issue by calling the bin directly, like so:

dart /home/foo/.pub-cache/global_packages/flutterfire_cli/bin/flutterfire.dart-2.17.0-239.0.dev.snapshot configure

This is weird since I'm calling the cli through the same path specified in at ~/.pub-cache/bin/flutterfire

  dart "/home/foo/.pub-cache/global_packages/flutterfire_cli/bin/flutterfire.dart-2.17.0-239.0.dev.snapshot" "$@"

I was facing this same problem, so I looked into the file that stores the code for flutter fire command in bash.

This file is stored in the ~/.pub-cache/bin/ I looked up the code inside this file. What the code basically does is, it passes over whatever command that you have given, to this other command

dart pub global run flutterfire_cli:flutterfire{your command}

So, if you want to run a command say, flutterfire configure , you can run it this way,

dart pub global run flutterfire_cli:flutterfire configure

I hope this answer helps!!.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM