"作曲家更新"不会更新到最新版本



在我的composer.json我有

"require": {
    . . .
    "unisharp/laravel-filemanager": "~1.8"
}

目前,最新版本是v1.8.2.2,运行composer update命令后,我将其安装在我的localhost项目中(一切正常)。

我已经将(git push origin master)从本地主机推送到Bitbucket上的远程存储库,并通过SSH连接到Web服务器并从该远程存储库克隆(git clone ...)它。

现在,当我运行composer update(在 Web 服务器上)时 - 它安装了 v1.8.0,它有一些错误。之后,当我再次尝试运行composer update时 - 我得到:

Nothing to install or update

。但它仍然是 v1.8.0(不像 localhost 上的 v1.8.2.2)。

因此,我的本地主机和实时服务器上具有相同的 composer.json 项目,但由于某种原因,localhost 具有最新版本的包,而实时版本具有带有错误的旧版本,composer update不会更新它。

你知道为什么会发生这种情况,我该如何解决吗?

你应该在本地运行composer update。这将使用已安装的所有软件包的版本更新composer.lock。应将composer.lock文件提交到版本控制。

在服务器上,更新文件后,应运行composer install,以便 Composer 可以更新其依赖项以匹配composer.lock文件中指定的依赖项。

我只花了两个小时来调试这个。 事实证明,问题是 composer.json 文件中有一个"版本"标签。

当那里有版本标记时,该版本的优先级将高于您应用的任何 git 标记版本。

相关内容

  • 没有找到相关文章

最新更新