1

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

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

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

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

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

关于快照版本的进一步解释:
Maven 快照到底是什么,我们为什么需要它?
http://www.tutorialspoint.com/maven/maven_snapshots.htm
https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN8855

4

1 回答 1

3

奥拉夫,我不认为这是支持的,paket.dependencies但考虑这个替代方案:

1 放一个灵活的版本限制paket.dependencies

nuget GreatDependency ~> 1.0.1

2 在构建时调用自定义包更新

.paket\paket update nuget GreatDependency
于 2016-04-22T12:28:33.383 回答