來源:藏色散人 發(fā)布時間:2019-02-27 10:49:55 閱讀量:1108
在了解require和require_dev 之間的區(qū)別之前,首先要了解require和require_dev是什么。
require:這些是運行代碼的必備包。它定義了實際的依賴關系以及包版本。
require_dev:它定義了開發(fā)項目所需的包,而不是生產環(huán)境中所需的包。
注意: require和require_dev是composer.json中可用的重要參數(shù)。
什么是Composer?
Composer是php中的依賴/參數(shù)管理器。它可用于安裝跟蹤和更新項目依賴性。Composer還負責處理依賴項的自動加載,應用程序依賴于它們可以輕松使用項目中的依賴項,而不必擔心將它們包含在任何給定文件的頂部。項目的依賴關系列在“composer.json”文件中,該文件通常位于項目根目錄中。
此文件包含有關生產和開發(fā)所需的軟件包版本的信息??梢允褂萌魏挝谋揪庉嬈魇謩泳庉嫶宋募部梢酝ㄟ^命令行自動編輯此文件,例如“composer require”或“composer require_dev”。
要在項目中開始使用composer,首先需要創(chuàng)建composer.json文件。它既可以手動創(chuàng)建,也可以只運行composer init。在終端中運行composer init之后,它將詢問有關項目的一些基本信息,例如包名稱,描述(可選),作者和來源其他信息,如最小穩(wěn)定性,許可證和所需包。
composer.json中的require鍵指定組合器,其中包含項目依賴于require,需要一個映射包名稱的對象
示例:
1 2 3 4 5 6 7 |
|
在上面的示例中,“composer / composer”指定由斜杠('/')分隔的供應商名稱和項目名稱,“1.2.*”指定版本名稱。
要安裝依賴項需要運行composer install命令,然后它將找到已定義的包,該方法用于提供的版本約束并將其下載到供應商目錄中。它將第三方代碼放入名為vendor的目錄中。安裝的命令還創(chuàng)建了一個composer.lock文件。
require和require_dev之間的區(qū)別:
require:
它定義了實際的依賴關系以及包版本。
require列出了此包所需的包。
除非滿足這些要求,否則不會安裝包。
require_dev:
它定義了開發(fā)項目所需的包。
require_dev列出了開發(fā)此包或運行測試等所需的包。
默認情況下會安裝root包的dev要求。安裝或更新都支持“-no-dev”選項,以防止安裝dev依賴項。