下面由composer使用教程欄目給大家介紹解析composer.json中所有屬性字段,希望對需要的朋友有所幫助!
1、name
包的名字。由供應(yīng)方(vendor)名和項(xiàng)目名組成,用 / 分隔。
在發(fā)布包的時(shí)候需要填。
2、description
對包的一個(gè)簡短描述,通常是一行的長度。
在發(fā)布包的時(shí)候需要填。
3、version
包的版本。
格式必須是 X.Y.Z,選擇性后綴:-dev、-alphaN、-betaN、-RCN。
4、type
包的類型,默認(rèn)為 library。
包類型用于定制安裝邏輯。如果你的包的安裝需要一些特殊的邏輯,你可以定義一個(gè)定制的類型。它可以是一個(gè) symfony-bundle 的類型,或者 wordpress-plugin,或者 typo3-module。這些類型將被特定的項(xiàng)目所用,它們將提供安裝器來安裝這些類型的包。
Composer 支持 3 種類型:
library:默認(rèn)值。它將復(fù)制文件到 vendor 目錄。
project:它表示這是個(gè)項(xiàng)目,而不是庫。比如像 Symfony 標(biāo)準(zhǔn)版這種應(yīng)用。
metapackage:一個(gè)含有依賴的空包,能觸發(fā)安裝,但不包含文件,不會向文件系統(tǒng)寫任何東西。
composer-install:為其他的定制類型的包提供安裝器的包。
5、keywords
一個(gè)與包相關(guān)的關(guān)鍵詞數(shù)組。用于包的搜索和過濾。
可選。
6、homepage
項(xiàng)目的網(wǎng)站 URL。
可選。
7、time
版本發(fā)布時(shí)間。必須是 YYYY-MM-DD 或 YYYY-MM-DD HH:MM:SS 格式。
可選。
8、license
包的許可證??梢允亲址蜃址?dāng)?shù)組。
可選,但強(qiáng)烈建議加上。
9、authors
包的作者。是個(gè)對象數(shù)組。
每個(gè) author 對象有這些屬性:
name:作者名字
email:作者郵箱
homepage:作者網(wǎng)站 URL
role:作者在項(xiàng)目中的角色(如:developer 或 translator)
10、support
各種關(guān)于該項(xiàng)目如何獲取支持的信息。包含這些屬性:
email:獲取支持的郵箱
issues:問題跟蹤的 URL
forum:論壇的 URL
wiki:Wiki 的 URL
irc:IRC 的頻道
source:查看或下載源碼的 URL
可選。
11、Package links
依賴包的映射表,由包名映射版本約束。如:
{ "require": { "monolog/monolog": "1.0.*" } }
(1)require
列出包所依賴的包。除非這些依賴已經(jīng)存在,否則這個(gè)包不會被安裝。
(2)require-dev(root-only)
列出開發(fā)這個(gè)包(或跑測試等等)所依賴的包。在使用 install 命令時(shí),只有帶上 “–dev” 參數(shù)才能安裝 dev 包。在使用 update 命令時(shí),帶上 “–no-dev” 則不更新。
(3)conflict
列出包會和哪些包發(fā)生沖突。它們將不被允許和你的包一起安裝。如果約束了版本,則只會針對特定的版本。
(4)replace
列出哪些包要被這個(gè)包替代。
(5)provide
這個(gè)包所推薦的包列表。這個(gè)對公共接口最有用,一個(gè)包可以依賴一個(gè)虛擬的 logger 包,而實(shí)現(xiàn) logger 接口的庫可以放到 provide 字段中。
12、suggest
建議一些能讓這個(gè)包工作的更好或得到增強(qiáng)的包列表。這些信息只在包安裝完成時(shí)給出,暗示用戶可以添加