Maven是Java世界中的依赖管理器。它支持快照版本控制。在Maven语言中,依赖关系称为工件。具有固定版本号(例如 1.0.1)的项目将仅下载一次,因为它永远不会更改。相反,快照版本(例如 1.0.1-快照)将被视为移动目标。它是当前的开发副本,在不久的将来可能会发生变化。因此,它必须定期更新。使用快照版本控制,您可以通过工件交付机制(例如使用 Nexus 或工件工厂)将正在进行的开发的当前状态作为工件提供。结合创建快照工件的 CI 构建,您可以设置开发基础结构来处理相当复杂的项目。
从本质上讲,我认为快照版本控制意味着依赖项管理器需要检查和下载带有之前已经下载的版本标签的工件。
在.NET世界中,Nuget是首选的包管理器。作为依赖管理器,它做得非常糟糕。特别是它不支持快照版本控制:NuGet 缓存和版本控制问题
Paket 是一个替代包管理器。它显然更适合在现实生活中的项目中进行依赖关系管理,但我在文档中找不到有关快照版本控制的内容。https://fsprojects.github.io/Paket/
我的问题:是否可以使用 Paket 实现快照版本控制?
有关快照版本控制的进一步说明:
究竟什么是Maven快照,为什么我们需要它?
http://www.tutorialspoint.com/maven/maven_snapshots.htmhttps://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN8855
Olaf,我认为这在paket.dependencies
中不受支持,但请考虑以下替代方案:
1 在paket.dependencies
中设置灵活的版本限制
nuget GreatDependency ~> 1.0.1
2 在构建时调用自定义包更新
.paketpaket update nuget GreatDependency