在带有 Pub 的 Dart 中,我啥时候应该对依赖项使用“任何”版本约束?
Posted
技术标签:
【中文标题】在带有 Pub 的 Dart 中,我啥时候应该对依赖项使用“任何”版本约束?【英文标题】:In Dart with Pub, when should I use the "any" version constraint for a dependency?在带有 Pub 的 Dart 中,我什么时候应该对依赖项使用“任何”版本约束? 【发布时间】:2013-04-22 11:13:49 【问题描述】:在制作包时,我经常对是否应该使用any
约束感到困惑。
我知道:
库包,I should specify clear version constraints,以便我的库的用户知道我的传递依赖项的版本,
应用程序包,I should use any
and check in my pubspec.lock
lockfile,以便其他人可以运行我的应用程序,
但有一个灰色区域:
旨在扩展的应用程序,例如代码实验室、教程、模板、示例等。
也具有可重用库的应用程序;即,具有 lib
目录的包用于通用功能,放在单独的包中没有意义,但还有一个 web
目录用于成熟的应用程序。
问题:什么时候应该使用any
版本约束,什么时候应该完全指定Pub 包的版本约束?
【问题讨论】:
【参考方案1】:旨在扩展的应用程序,例如代码实验室、教程、模板、示例等。
由于这些通常会被复制粘贴作为普通应用程序包的基础,因此我将使用any
约束并签入锁定文件以树立一个很好的例子。
具有可重用库的应用程序;也就是说,具有用于通用功能的
lib
目录的包,放在单独的包中没有意义,但也有用于成熟应用程序的web
目录。
所有应用程序都应将其代码放在lib
目录中。 web
目录应该只包含入口点。所以这只是一个标准的应用程序包,它应该使用any
约束并签入一个锁文件。
【讨论】:
以上是关于在带有 Pub 的 Dart 中,我啥时候应该对依赖项使用“任何”版本约束?的主要内容,如果未能解决你的问题,请参考以下文章
在 Dart 和 Pub 中,我应该将 pubspec.lock 添加到我的 .gitignore 吗?