如何解决 Flutter 中的包冲突?

How to resolve package conflict in Flutter?

我正在尝试使用外部包来生成 PDF 文档。我使用了 this library 但是当我导入下面的包时,我得到了 en error

The name 'StatelessWidget' is defined in the libraries 'package:flutter/src/widgets/framework.dart' and 'package:pdf/widgets.dart'.

附上错误的屏幕截图。

导入语句:

import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart';

错误:

谁能帮我解决这个问题?

谢谢。

我相信您使用的是专门为 dart 制作的软件包。此包可能包含已在 flutter 中定义的函数,导致 dart 具有同一函数的 2 个定义。尝试 this for flutter

你需要 dart: 导入中的前缀它应该像

import 'dart:pdf';

不需要其他任何东西。

package:pdf 中定义的

类 与 package:flutter 中定义的冲突。 Dart 允许您在命名空间下导入包以避免此类冲突。

将您的第二个导入语句更改为:

import 'package:pdf/widgets.dart' as pdf;

然后你可以访问包中定义的任何东西,前面有 pdf.:

pdf.SomeWidgetName

从导入的库中隐藏 StatelessWidget 怎么样?尝试使用 hide 关键字来解决冲突:

import 'package:pdf/widgets.dart' hide StatelessWidget;