是否可以使用Paket实现快照版本控制?

时间:2016-01-23 16:51:35

标签: maven nuget paket

Maven是Java世界中的依赖管理器。它支持快照版本控制。在Maven中,依赖称为工件。具有固定版本号(例如1.0.1)的工件将仅下载一次,因为它永远不会更改。相反,快照版本(例如1.0.1快照)将被视为移动目标。它是当前的开发副本,可能会在不久的将来发生变化。因此必须定期更新。通过快照版本控制,您可以通过工件交付机制(例如使用Nexus或Artifactory)将正在进行的开发的当前状态作为工件提供。结合创建快照工件的CI构建,您可以设置开发基础架构,可以处理相当复杂的项目。

本质上我认为快照版本控制意味着依赖关系管理器需要使用之前已经下载的版本标签来检查和下载工件。

在.NET世界中,Nuget是首选的包管理器。作为一名依赖管理员,它的工作非常糟糕。特别是它不支持快照版本控制: NuGet Cache And Versioning Issues

Paket是另一种包经理。它显然更适合在现实生活项目中进行依赖管理,但我在文档中找不到有关快照版本控制的内容。 https://fsprojects.github.io/Paket/

我的问题:是否可以使用Paket实现快照版本控制?

关于快照版本控制的更多解释:
What exactly is a Maven Snapshot and why do we need it?
http://www.tutorialspoint.com/maven/maven_snapshots.htm
https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN8855

1 个答案:

答案 0 :(得分:3)

奥拉夫,我不认为paket.dependencies支持这一点,但请考虑以下方法:

1在paket.dependencies

中设置了灵活的版本限制
nuget GreatDependency ~> 1.0.1

2在构建

上调用自定义paket更新
.paket\paket update nuget GreatDependency