如何让composer将版本号更新为composer.json中可用的最新版本号?

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

在我的

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-php
4个回答
20
投票

奔跑

composer require zendframework/zend-log

composer require --dev phpunit/phpunit

12
投票

Composer 2.4 起,有一个

bump
命令 可以实现此目的。

引自发布公告(Packagist 的 Jordi Boggiano;2022 年 8 月):

新的

bump
命令可让您提高要求以匹配当前安装的版本。例如,如果您需要包
"foo/bar": "^1"
– 但您当前已安装
foo/bar 1.5.3
– 运行
composer bump foo/bar
会将您的composer.json 要求更新为
"foo/bar": "^1.5.3"

cf。 “更轻松地突破版本限制”


4
投票

对于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 的作用。


0
投票

您可以安装这个工具并使用它

https://github.com/khanakia/pcu然后运行此命令

pcu check -u
© www.soinside.com 2019 - 2024. All rights reserved.