Dart 在颤振中,依赖项必须指定版本号?
通常,您必须添加以下内容Dart 在颤振中,依赖项必须指定版本号?,dart,flutter,Dart,Flutter,通常,您必须添加以下内容 dependencies: camera: "^0.2.0" 到pubspec.yaml文件。如果不包括版本号,会发生什么?这是一件小事,但通常,我会找到一段代码并想测试它。在顶部,我看到类似>> import 'package:camera/camera.dart'; 我必须去软件包的主页才能找到版本号吗?您可以使用any dependencies: camera: any 具有更严格的约束使软件包get/软件包升级更容易搜索匹配的版本,因为这会减少解决
dependencies:
camera: "^0.2.0"
到pubspec.yaml文件。如果不包括版本号,会发生什么?这是一件小事,但通常,我会找到一段代码并想测试它。在顶部,我看到类似>>
import 'package:camera/camera.dart';
我必须去软件包的主页才能找到版本号吗?您可以使用
any
dependencies:
camera: any
具有更严格的约束使软件包get
/软件包升级
更容易搜索匹配的版本,因为这会减少解决方案空间,但对于简单的示例,这通常并不重要
pub
最近得到了一个改进的解算器,使得any
的问题比以前的pub
在使用any
时经常超时。根据
根据要提供的数据,可以指定依赖项
在两个方面。最短的方法是只指定一个名称:
这就产生了对Transmogrity的依赖,允许任何版本,
并使用默认源(pub.dartlang.org)进行查找。
要将依赖关系限制为一系列版本,可以提供
版本限制:
依赖项:
变形:^1.0.0
这将使用默认的源代码和
允许从1.0.0到2.0.0的任何版本(但不包括2.0.0)。
有关版本的详细信息,请参见版本约束和插入符号语法
约束语法
我想我的问题的真正答案是,通常,最好指定一个主要版本号比率,例如:^1.0.0==1.0.0<2.0.0。也就是说,只要没有重大更改,该程序就可以运行并经过测试,并将继续使用此库依赖性。使用
传统语法的版本约束是以下一系列:
任何
字符串any允许任何版本。这相当于一个空版本约束,但更显式尽管允许使用任何,但我们不建议使用它
1.2.3
具体的版本号将依赖项固定为仅允许该确切版本。尽可能避免使用此选项,因为它会导致用户版本锁定,并使他们很难将您的包与其他依赖它的包一起使用
=1.2.3
允许给定版本或任何更高版本。您通常会使用这个
>1.2.3
允许任何大于指定版本的版本,但不允许该版本本身
字符在版本约束中,请确保引用约束字符串,这样字符就不会被解释为YAML语法。例如,永远不要使用=1.2.3注意:您也可以使用git链接。谢谢@Günter ZöchbauerIs这意味着,依赖项:transmogrify:将使用此软件包的最新版本?@AliAzad Yes,transmogrify:
将使用最新版本。
dependencies:
transmogrify: