如何让Composer require默认保存精确版本而非版本范围?
如何让Composer默认保存精确版本而非版本范围
Composer确实有类似NPM --save-exact的机制,而且可以配置成默认行为,不用每次手动加参数:
1. 单次命令临时生效
如果只是偶尔需要安装精确版本,直接在命令后加--exact参数即可:
composer require foo/bar --exact
执行后composer.json里会直接写入精确版本号(比如1.0.0),而非版本范围(比如^1.0)。
2. 配置为默认行为(无需每次输参数)
项目级配置(仅当前项目生效)
在项目根目录的composer.json中添加config字段并设置exact: true:
{ "config": { "exact": true } }
保存后,当前项目里所有composer require命令都会默认保存精确版本。
全局级配置(所有项目生效)
如果想让所有本地项目都默认使用精确版本,执行全局配置命令:
composer config --global exact true
这个命令会修改你的全局Composer配置文件(一般在用户目录下的.composer/config.json,Windows系统则在%APPDATA%/Composer/config.json),之后所有项目的composer require都会自动保存精确版本。
内容的提问来源于stack exchange,提问作者lateo
相关产品推荐
相关产品推荐

