簡體   English   中英

`composer update` 沒有更新到最新版本

[英]`composer update` doesn't update to the latest version

在我的composer.json我有

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

目前,最新版本是v1.8.2.2 ,在運行composer update命令后,我將它安裝在我的本地主機項目上(一切正常)。

我已將( 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 (不像在本地主機上那樣是v1.8.2.2 )。

因此,我在本地主機和實時服務器上有相同的 composer.json 項目,但由於某種原因,本地主機具有最新版本的 package,而實時版本具有帶有錯誤的舊版本, composer update不會更新它。

你知道為什么會這樣嗎?我該如何解決?

您應該在本地運行composer update 這將使用您已安裝的所有軟件包的版本更新composer.lock 您應該將您的composer.lock文件提交到您的版本控制。

在您的服務器上,一旦您更新了文件,您就應該運行composer install以便 Composer 可以更新其依賴項以匹配您在composer.lock文件中指定的依賴項。

我只花了兩個小時調試這個。 原來問題是在 composer.json 文件中有一個“版本”標簽。

當那里有版本標簽時,該版本將優先於您應用的任何 git 標簽版本。

如果您知道要更新的軟件包,您可以指定它,軟件包將升級到最新版本。 只需在全局范圍內需要該包,它就會像魅力一樣工作。

composer global require laravel/installer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM