安装 Composer 软件包(例如
composer require foo/bar
)时,如何默认在 composer.json
中保存确切的软件包版本(例如 1.0.0)而不是版本范围(^1.0)?
例如。当使用
--save-exact
标志时,NPM 具有此功能,例如。 npm i --save-exact react
,也可以在配置中设置,所以它是默认的。 Composer 有类似的标志或配置设置吗?
我不想在 CLI 上手动指定软件包版本。
require
命令中没有此选项。 (文档)。
如果您没有指定版本,Composer 会根据您的稳定性设置和版本可用性为您选择一个版本。
确切的版本安装在
composer.lock
中,因此安装无论如何都是可重现的。
也许(我不知道)JS/node 世界更加不稳定,但在 PHP/packagist 生态系统中,使用像
^1.2
这样的版本范围就足够安全了。
但是您始终可以在事后手动编辑
composer.json
以使版本约束准确,而不是范围。