Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[bug]: (Pub workspaces & Melos) dSYM upload fails | uploadDebugSymbols = false

未关闭
#403 1 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
dart
领域
cli

调研方向

从 packages/flutterfire_cli/lib/src/firebase/firebase_apple_writes.dart 中的 addFlutterFireDebugSymbolsScript 开始,跟踪它如何定位 package_config.json 并读取 pubspec.yaml。复现 workspace 布局,将 app 放在 ./apps/name 下,并将 firebase_crashlytics 放在内部 package 中。完成的标准是 CLI 能检测到该依赖、生成 build phase script,并且不会在 firebase.json 中将 uploadDebugSymbols 设置为 false。

由索引模型根据 Issue 内容生成。

描述

blocked: customer-response bug enhancement keep open
Is there an existing issue for this?
  • I have searched the existing issues.
CLI Version

1.2.0

Firebase Tools version

13.28.0

Flutter Doctor Output

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.32.0, on macOS 15.5 24F74 darwin-arm64, locale en-ES)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.3)
[✓] VS Code (version 1.100.3)
[✓] Connected device (4 available)
[✓] Network resources

• No issues found!

Description

I'm not adding the full flutter doctor -v output as I believe it's not relevant for this issue.
Please, let me know otherwise.

Regardless if I stated on the title "Pub workspaces", this would also occur just using old Melos version or with any other project structure that varies from default.

Going straight to the point:
The function addFlutterFireDebugSymbolsScript at packages/flutterfire_cli/lib/src/firebase/firebase_apple_writes.dart is unable to find firebase_crashlytics dependency on a different project structure than the usual one.

Details:
With the recently introduced "Pub workspaces", .dart_tool/package_config.json resides at the root of the project, which is not the flutterAppPath.

For instance, we have the main app at ./apps/name as recommended by Melos or Pub dev if I'm not wrong.

Despite the fact that addFlutterFireDebugSymbolsScript tries to find the dependency also in the "main app" pubspec.yaml, the firebase_crashlytics dependency might not be there, as following a typical "workspace" structure, the developer could have delegated all that logic to an internal package at ./packages/[name].

This is exactly our case, so ultimately, since no firebase_crashlytics dependency was found, uploadDebugSymbols is being set as false in the "main app" firebase.json file.

Additionally to that, the build phase script is also not generated.

Current fix:
We just added firebase_crashlytics dependency back to our "main app" pubspec.yaml, which is now redundant.

Potential fix:
Instead of looking up for package_config.json or trying to figure out if the project follows a "workspace" structure, I recommend that the CLI simply provides a new option such as --app-dir.

This way, we can just run flutterfire configure / reconfigure from the root.

Steps to reproduce

As explained above.

Expected behavior

The CLI should detect the firebase_crashlytics dependency.

Screenshots

No response

Additional context and comments

This issue, closed by the OP, pointed me to the right direction.

主要语言
Dart
星标
194
派生
74
平均合并
1 天 22 小时
30 天内合并 PR
6

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

invertase/flutterfire_cli 的其他 Issue

查看 invertase/flutterfire_cli 的全部 Issue

相似的 Issue

更多 Dart Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。