Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 在颤振中,依赖项必须指定版本号?_Dart_Flutter - Fatal编程技术网

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: