Paket 依赖组不仅仅是一种解决版本冲突的方法吗?
Are Paket dependency groups more than just a way to solve version conflicts?
paket.dependencies
在 运行 dotnet new fake
时生成的示例文件目前看起来像:
// [ FAKE GROUP ]
group Build
source https://api.nuget.org/v3/index.json
nuget Fake.DotNet.Cli
nuget Fake.IO.FileSystem
nuget Fake.Core.Target
我了解如何使用依赖组来解决版本冲突,但是在实际版本冲突情况出现之前似乎没有必要介绍它们。
此处 Build 组的语义是什么?为什么不在 Main 默认组下添加三个依赖项? Paket documentation example.
中的 Test 组也有同样的反映
能否详细说明一下在没有版本冲突的情况下分组依赖的原因?也许更多地解释 Build 和 Test 组背后的基本原理?
因为我基本上介绍了 FAKE 5 的拆分:
原因是一组依赖项在构建时使用(即当 运行 构建脚本时),一组用于您的项目 运行 时。为这两者设置不同的依赖集是完全有效的。
考虑以下场景:您在构建过程中使用 FSharp.Formatting
(FSF,降价解析器)项目生成 API 文档,并在项目中生成网站。现在您想通过更新 FSF 来更新 API 文档,但是出于兼容性原因您不能在您的项目中升级 FSF。由于 BUILD 和 运行-time 之间的分离,这不是问题,您可以将它们视为不同版本中的 "different" 依赖项。
我希望看到类似于节点分离 dependencies
和 dev-dependencies
的方法
关于 运行 和 TEST 之间的分歧:就我个人而言,我不是一个超级粉丝。我可以看到人们如何想要分离他们的依赖关系,但 paket 目前不 "really" 支持这种情况,你确实可以 运行 解决这种方法的问题。我目前的建议是不要将 运行 和 TEST 分开,并将它们放在一个组中进行管理。
要在 运行 和 TEST 数据包之间正确拆分,需要一个新功能来引用另一个组:
group Run
source https://api.nuget.org/v3/index.json
nuget MyDep1
group Test
reference_group Run
source https://api.nuget.org/v3/index.json
nuget MyRunner1
类似于外部锁定文件功能:https://github.com/fsprojects/Paket/pull/3062#issuecomment-367658114
paket.dependencies
在 运行 dotnet new fake
时生成的示例文件目前看起来像:
// [ FAKE GROUP ]
group Build
source https://api.nuget.org/v3/index.json
nuget Fake.DotNet.Cli
nuget Fake.IO.FileSystem
nuget Fake.Core.Target
我了解如何使用依赖组来解决版本冲突,但是在实际版本冲突情况出现之前似乎没有必要介绍它们。
此处 Build 组的语义是什么?为什么不在 Main 默认组下添加三个依赖项? Paket documentation example.
中的 Test 组也有同样的反映能否详细说明一下在没有版本冲突的情况下分组依赖的原因?也许更多地解释 Build 和 Test 组背后的基本原理?
因为我基本上介绍了 FAKE 5 的拆分:
原因是一组依赖项在构建时使用(即当 运行 构建脚本时),一组用于您的项目 运行 时。为这两者设置不同的依赖集是完全有效的。
考虑以下场景:您在构建过程中使用 FSharp.Formatting
(FSF,降价解析器)项目生成 API 文档,并在项目中生成网站。现在您想通过更新 FSF 来更新 API 文档,但是出于兼容性原因您不能在您的项目中升级 FSF。由于 BUILD 和 运行-time 之间的分离,这不是问题,您可以将它们视为不同版本中的 "different" 依赖项。
我希望看到类似于节点分离 dependencies
和 dev-dependencies
关于 运行 和 TEST 之间的分歧:就我个人而言,我不是一个超级粉丝。我可以看到人们如何想要分离他们的依赖关系,但 paket 目前不 "really" 支持这种情况,你确实可以 运行 解决这种方法的问题。我目前的建议是不要将 运行 和 TEST 分开,并将它们放在一个组中进行管理。
要在 运行 和 TEST 数据包之间正确拆分,需要一个新功能来引用另一个组:
group Run
source https://api.nuget.org/v3/index.json
nuget MyDep1
group Test
reference_group Run
source https://api.nuget.org/v3/index.json
nuget MyRunner1
类似于外部锁定文件功能:https://github.com/fsprojects/Paket/pull/3062#issuecomment-367658114