如何让“composer require”保存确切的包版本,而不是范围?

问题描述 投票:0回答:1

安装 Composer 软件包(例如

composer require foo/bar
)时,如何默认在
composer.json
中保存确切的软件包版本(例如 1.0.0)而不是版本范围(^1.0)?

例如。当使用

--save-exact
标志时,NPM 具有此功能,例如。
npm i --save-exact react
,也可以在配置中设置,所以它是默认的。 Composer 有类似的标志或配置设置吗?

我不想在 CLI 上手动指定软件包版本。

php composer-php
1个回答
2
投票

require
命令中没有此选项。 (文档)。

如果您没有指定版本,Composer 会根据您的稳定性设置和版本可用性为您选择一个版本。

确切的版本安装在

composer.lock
中,因此安装无论如何都是可重现的。

也许(我不知道)JS/node 世界更加不稳定,但在 PHP/packagist 生态系统中,使用像

^1.2
这样的版本范围通常是足够安全的。

但是您始终可以在事后手动编辑

composer.json
以使版本约束准确,而不是范围。

© www.soinside.com 2019 - 2024. All rights reserved.