2017-04-09 58 views
0

可以從命令行將--prefer-source選項添加到軟件包中。 當然應該導致composer.json更改? 這是如何顯示的?使用--prefer-source後我看不到任何區別。composer.json如何記錄 - 首選源

回答

1

如果您使用--prefer-source--prefer-dist,則composer.json文件中沒有記錄差異。唯一的是包本身的名稱和版本約束。

區別可能發生在composer.lockvendor文件夾本身內。如果軟件包已安裝,它們的狀態將反映在vendor文件夾中。如果他們是已簽出的存儲庫,那麼Composer將繼續對待它們,如--prefer-source,這可能會在切換到不同版本時加速某些操作。如果沒有存儲庫,Composer將繼續將該文件夾視爲--prefer-dist

請注意,sourcedist只有在composer.lock中記錄了相應的信息時纔會起作用。如果沒有記錄dist的下載位置,安裝依賴關係將導致檢出存儲庫,反之亦然。如果兩種信息都可用,並且其中一種方法失敗,則嘗試另一種,即如果下載鏈接失敗,則執行結賬。

--prefer-source選項實際上隻影響下載和安裝本身,而不是記錄依賴關係的方式 - 這很有意義,因爲您可能希望在開發時檢查源代碼,但不想克隆整個存儲庫部署到生產時。使用composer install的命令行標誌,您可以隨時將依賴關係安裝到新的供應商文件夾中,並且在安裝到現有供應商文件夾時保留以前的選擇。