作曲家安裝和作曲家更新之間的區別

composer update

composer update 將更新我們在 composer.json 中指定的依賴項。

例如,如果我們的專案使用此配置:

"require": {
    "laravelcollective/html": "2.0.*"
}

假設我們已經實際安裝了 2.0.1 版本的軟體包,執行 composer update 將導致此軟體包的升級(例如,如果已經發布,則為 2.0.2)。

詳細資訊 composer update 將:

  • 閱讀 composer.json
  • 刪除 composer.json 中不再需要的已安裝軟體包
  • 檢查我們所需軟體包的最新版本的可用性
  • 安裝我們的軟體包的最新版本
  • 更新 composer.lock 以儲存已安裝的軟體包版本

composer install

composer install 將安裝指定(鎖定)版本的 composer.lock 檔案中指定的所有依賴項,而不更新任何內容。

詳細地:

  • 閱讀 composer.lock 檔案
  • 安裝 composer.lock 檔案中指定的包

何時安裝以及何時更新

  • composer update 主要用於開發階段,以升級我們的專案包。

  • composer install 主要用於部署階段,使用儲存在 composer update 建立的 composer.lock 檔案中的相同依賴項,在生產伺服器或測試環境中安裝我們的應用程式。