簡體   English   中英

Composer安裝只有composer.lock

[英]Composer install with only composer.lock

我剛剛安裝了一個用composer.lock文件給出的PHP應用程序。

運行composer install時,命令行工具仍然要求composer.json ....我沒有。

在作曲家文檔中,據說install命令首先查找composer.lock,然后查找composer.json。

為什么composer仍然要求一個文件,它不需要安裝我的依賴項?

composer install>返回:Composer找不到composer.json文件

您仍然需要composer.json文件來安裝或更新任何依賴項。 擁有composer.lock文件意味着編寫器不會搜索依賴項的最新提交

幾個星期前在Twitter上,我注意到OpenCFP項目在其存儲庫中沒有composer.lock文件。 “那么什么,”你可能會說,“只是作曲家安裝而你走了。 你會得到相同的依賴,對嗎?“錯了。

鎖定文件的要點是記錄安裝的確切版本,以便重新安裝。 這意味着,如果您的版本規格為1. *並且您的同事運行安裝1.2.4的composer update,然后提交composer.lock文件,那么當您編寫作曲家安裝時,您也將獲得1.2.4,甚至如果1.3.0已經發布。 這確保了在項目上工作的每個人都具有相同的確切版本。

來源: 作曲家:這都是關於鎖文件的

您必須有一個composer.json來安裝依賴項,因為它是列出依賴項的文件。 請參閱文檔

composer.lock列出已安裝的依賴項。 作曲家首先看它,以保持版本的一致性。

(文檔說明)[ https://getcomposer.org/doc/01-basic-usage.md#installing-with-composer-lock]

當存在composer.lock文件時運行安裝會解析並安裝您在composer.json中列出的所有依賴項,但Composer使用composer.lock中列出的確切版本來確保程序包版本對於處理項目的每個人都是一致的。

如果你失去了你的composer.json可以逆向工程的composer.lock 打開它並讀取所有已安裝的軟件包,然后創建一個需要它們的composer.json 並非每個軟件包都是您的問題的直接依賴:您應該識別並刪除那些不是。

暫無
暫無

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

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