關于composer.json、composer.lock的使用和composer.lock是否應該提交到git

要為您的項目安裝定義的依賴項,只需運行composer install命令即可。運行composer install 的時候composer將會去讀取composer.lock文件,如果composer.lock不存在或者沒有內容,那么composer install將執(zhí)行composer.json,并將最新版本的文件下載到vendor項目目錄中,同時更新composer.lock文件,否則將根據composer.lock去下載更新所有依賴。這樣關系就很簡單了,運行composer install的時候如果有composer.lock則根據composer.lock去更新下載依賴,否則根據composer.json去下載更新依賴。
這時候又引發(fā)了一個討論,在用git部署項目的時候是否應該講composer.lock提交包git上,composer官方是建議提交的,原因如下:
將此文件提交給版本庫很重要,因為它會導致任何設置項目的人都使用與您正在使用的完全相同的依賴項。您的服務器,生產機器,您團隊中的其他開發(fā)人員,所有和所有人都運行在相同的依賴關系上,從而減輕了僅影響部署部分的錯誤的潛力。即使您單獨開發(fā),在重新安裝項目六個月后,即使您的依賴關系從那以后發(fā)布了許多新版本,您也可以確信已安裝的依賴項仍然可以工作。也就是說將composer.lock提交到git上可以在不同機器上部署這個項目所安裝的依賴是完全相同的,因為都是根據composer.lock文件去更新。
如上所述,該composer.lock文件阻止您自動獲取最新版本的依賴項。要更新到最新版本,請使用composer update命令,同時應該注意的是在開發(fā)過程中一般不適應update命令,因為update命令將更新所有的依賴到最新,這個動作是危險的,你之前使用的類庫可能已經更新的面目全非而導致你之前的代碼不可用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,355評論 25 708
  • 是什么 如果你知道yum、apt-get、npm、bower等命令中的一種或者多種,那么,你也能很快知道compo...
    旱魃一樣閱讀 3,374評論 0 9
  • Composer是一個非常流行的PHP包依賴管理工具,已經取代PEAR包管理器,對于PHP開發(fā)者來說掌握Compo...
    bycall閱讀 2,447評論 0 1
  • Composer是一個非常流行的PHP包依賴管理工具,已經取代PEAR包管理器,對于PHP開發(fā)者來說掌握Compo...
    dreamer_lk閱讀 2,480評論 0 15
  • Git 命令 創(chuàng)建 Git 可管理的倉庫 查看當前倉庫的狀態(tài) 添加到倉庫,實際上是添加到暫存區(qū) 刪除到倉庫 把暫存...
    Haozj閱讀 396評論 0 1

友情鏈接更多精彩內容