我目前正在试验 Satis。我希望能够在某个地方获取我的私有包的确切版本,因此通常在composer.lock中的所有内容。我总是通过 Git 提交composer.lock。
但如果我理解正确的话,Satis 在其packages.json 中总是只包含必需的部分,即我的composer.json 中的部分,因此当然只包含版本范围。
有没有办法配置 Satis,以便也存储composer.locks 或者如何获取包的准确“快照”?
+++ 示例 +++
好吧,我试着解释一下。
假设我有一个包 my/package. 这里我添加了几个文件,包括一个composer.json,其中我定义symfony/console应该安装在大于或等于4的版本中。现在我执行“composer install”,Symfony安装在4.4版本中。我提交了所有文件,包括composer.lock 并创建了1.0 版本。
现在我要去萨蒂斯。这里我将 my/package 和 my/package 对应的存储库 URL 添加到 satis.json 并更新它。Satis 正确检查了我的包,并在 packages.json 或更准确地说 all*.json 中列出了我的包,版本为 1.0。到目前为止一切都很好。
但是,如果我现在查看 Satis 在 all*.json 中为我的包存储的元数据,我实际上在这里看到了我指定的要求,即 symfony/console 应该安装在大于或等于 4 的版本中。所以 Satis拍摄composer.json的快照,显然忽略了composer.lock。所以我没有机会看到我的版本 1.0 与 Symfony 的确切版本 4.4 一起工作,而例如版本 1.1 与 symfony/console 4.5 一起工作。但这个信息对我来说很有趣。
白猪掌柜的
蝴蝶不菲