在我的
composer.json
配置文件中,我有:
"require": {
"zendframework/zend-log" : "~2.3",
},
"require-dev": {
"phpunit/phpunit": "^5.4"
}
我想要:
"require": {
"zendframework/zend-log" : "^2.9",
},
"require-dev": {
"phpunit/phpunit": "^6.2"
}
注意版本号变化
如何?我希望它能够自动完成,而不必查找每个可用的最新版本并手动编辑它。
有这个问题,但没有帮助:如何解决尝试使作曲家获取最新包版本时找不到包的错误?
奔跑
composer require zendframework/zend-log
和
composer require --dev phpunit/phpunit
自 Composer 2.4 起,有一个
bump
命令 可以实现此目的。
引自发布公告(Packagist 的 Jordi Boggiano;2022 年 8 月):
新的
命令可让您提高要求以匹配当前安装的版本。例如,如果您需要包bump
– 但您当前已安装"foo/bar": "^1"
– 运行foo/bar 1.5.3
会将您的composer.json 要求更新为composer bump foo/bar
。"foo/bar": "^1.5.3"
cf。 “更轻松地突破版本限制”
对于composer.json中的所有包(没有开发依赖),您可以使用以下命令来完成:
composer show --no-dev --direct --name-only \
| xargs composer require
对于所有开发人员依赖项:
grep -F -v -f \
<(composer show --direct --no-dev --name-only | sort) \
<(composer show --direct --name-only | sort) \
| xargs composer require --dev
这两个命令的组合类似于 npm-check-updates (ncu) 对 NPM 的作用。