Composer 未将软件包更新到最新版本

Posted

技术标签:

【中文标题】Composer 未将软件包更新到最新版本【英文标题】:Composer is not updating package to newest version 【发布时间】:2015-04-09 07:21:58 【问题描述】:

tl;dr我在强制 Composer 获取本地包的最新更改时遇到了麻烦。看来,这个问题是由于最新的更改不是包存储库中任何版本的一部分。

我在我的项目中使用yii2-language-picker,并已按照文档中的说明添加它:

php composer.phar require --prefer-dist lajax/yii2-language-picker "1.*"

最近扩展作者发了a change。但是,这个更改is not part of any release,因为它是1 commit after latest release。如果我没记错的话(我对 Composer 还很陌生),这会导致 Composer 无法更新我的本地包——在 composer updatecomposer install 之后,我得到了 Nothing to install or update

由于最新的更改不是任何版本的一部分,因此建议我编辑composer.json 文件,将required 部分中的"lajax/yii2-language-picker": "1.*" 更改为"lajax/yii2-language-picker": "*" 并发出另一个composer update

我也完全删除了这个包,然后用"1.*""**" 重新安装。

这些都没有带来任何影响。 Composer 仍然声称,没有什么可安装或更新的。

什么可能导致这种情况?在这种情况下我能做些什么吗,或者我剩下的唯一选择就是坐下来等到包/存储库作者将该更改作为另一个版本的一部分?

我试图手动更新这个包,但是在composer status 之后我得到了No local changes,我很担心,一旦发布了实际的包更新,所有这些更改都会丢失。我应该在这种情况下进行任何本地更改还是应该坐下来等待?

【问题讨论】:

【参考方案1】:

将 1.* 更改为 dev-master 可能会解决您的问题。

【讨论】:

请注意,依赖分支很可能会在某一时刻破坏整个包,使您的软件无法再更新,并阻止您添加新包。

以上是关于Composer 未将软件包更新到最新版本的主要内容,如果未能解决你的问题,请参考以下文章

尝试通过 Composer 将 Laravel/Nova 更新到最新版本时出现 INVALID CREDENTIALS 错误

将composer更新到最新版本

`composer update` 不会更新到最新版本

如何使用composer下载PHPword的最新开发版本?

Ubuntu怎么升级到最新版本Ubuntu 14-Ubuntu

为啥在运行 npm update 时不是所有节点包都更新到最新版本?