balsama/lightning_strict

此包已被废弃,不再维护。未建议替代包。

锁定 Lightning Drupal 发行版的 Composer 依赖。

4.1.5 2020-06-17 20:07 UTC

This package is auto-updated.

Last update: 2022-12-05 15:13:33 UTC


README

此包将锁定 Lightning 定义的依赖,使其与测试每个 Lightning 版本时使用的特定版本一致。

使用方法

composer require acquia/lightning:VERSION balsama/lightning_strict:VERSION --no-update
composer update

VERSION 是您想要构建的 Lightning 的特定版本。例如,2.2.43.0.1。它应该对 acquia/lightningbalsama/lightning_strict 包都相同。您可能需要多次运行 composer update 以确保 composer-patches 插件正确地修补所有依赖项。

动机

Lightning 2.2.0 需要 drupal/core:~8.4.0,这大致意味着

"给我低于 8.5.0 的最新核心版本"

在撰写本文时,那将是 8.4.4。但是,当 Lightning 2.2.0 于 2017 年 10 月 4 日发布时,8.4.0 是 drupal/core 的最新版本。因此,该标签实际上是针对 8.4.0 进行测试的。这对于 Lightning 的所有依赖项都适用 - 以及任何使用 Composer 管理依赖项的项目。

在使用 Composer 时,通常最好让依赖项自行管理约束。为了允许最大的灵活性和最少的冲突,Lightning 故意在对依赖项进行约束时较为宽松(在其可以做到的情况下)。

然而,在某些情况下,可能需要构建与发布时完全一致的特定版本的 Lightning 依赖项。例如,您可能需要一个早已从 Lightning 中移除的更新路径,但构建该版本可能存在问题,因为依赖项不再可用,或者补丁不再适用。在这种情况下,您可以使用此包将 Lightning 的所有依赖项(及其递归依赖项)固定到 Lightning 发布时 composer.lock 文件中包含的特定版本。

PHP 版本

Lightning 的依赖项是在运行 php 7.0 的环境中更新的。由于此包直接基于历史 Lightning composer.lock 文件,这意味着某些依赖项至少需要 php 7.0 才能运行。我们已在生成的 composer.json 文件中添加了最小 PHP 版本。遗憾的是,如果您的环境使用 PHP 5.6,则没有解决办法。

灵感

这受到了 webflo 的出色 drupal-core-strict 项目 的启发,并大量借鉴了其代码。感谢。