Dart`pubspecpec.yaml`:根据Flutter的不同,包装的一部分使用Flutter而没有整个包装

问题描述 投票:1回答:2

我正在尝试创建一个在pub.dart.org上运行FlutterWebOther的包。只要包中的默认文件没有平台依赖关系,其他文件就可以这样做而不会导致整个包依赖于平台。当一个文件使用dart:io而另一个文件使用dart:html时,这是有效的,只要默认导入不这样做。

但是,添加对Flutter的任何依赖性,比如因为包中有一个文件使用它,导致pub.dart.org仅将包列为Flutter

我认为它与Flutter实际上需要pubspec.yaml中的SDK这一事实有关,但我无法找到有关此问题的任何进一步信息。

dart flutter dart-pub
2个回答
1
投票

因为web / io和Flutter使用不同的Dart SDK会导致麻烦。如果pubspec.yaml包含

flutter_test:
  sdk: flutter

非Flutter pub工具将拒绝该包。

您可以尝试将其从共享包中删除。

如果这不起作用,则需要将直接依赖于Flutter SDK的库提取到单独的包中。


0
投票

你应该能够做到这一点。例如,如果您查看password插件,您可以看到它在Flutter,Web和Other上可用,因此您只需要确保您的依赖项在这三者中是通用的,您应该很高兴!如果将问题放在pub.dart.org上有问题,您可以先尝试将文件从flutter转移到dart,以及pubspec.yaml和所有其他文件,然后尝试将其打开。

© www.soinside.com 2019 - 2024. All rights reserved.