创建Composer包时,应选择哪种“软件包类型”?

25

我正在创建我的第一个PHP Composer包(按照这些说明)。 我已经运行了

$ composer init

我正在填写细节,现在它要求我输入:

包类型(例如:库、项目、元包、composer-plugin)[]:

我猜这只是一个人类可读的标签,用于对不同的软件包进行分类?

我想知道是否有软件包类型的定义?

1个回答

31
我在提问中发现了这个问题:

Composer Package Types

默认情况下,Composer支持四种类型:

  • library:这是默认设置。它会将文件简单地复制到/vendor目录下。

  • project:表示项目而不是库。例如,应用程序壳(如Symfony标准版)、CMS(如SilverStripe安装程序)或作为软件包分发的完整应用程序。

  • metapackage:一个空包含有要求并会触发其安装的包,但不包含任何文件,也不会写入任何内容到文件系统。

  • composer-plugin:composer-plugin类型的软件包可以为其他具有自定义类型的软件包提供安装程序。只有在需要安装过程中进行自定义逻辑时才使用自定义类型。

包类型用于自定义安装逻辑。如果您有一个需要一些特殊逻辑的软件包,您可以定义一个自定义类型。这可以是一个Symfony捆绑包、WordPress插件或typo3-cms扩展。这些类型都将是特定于某些项目,并且它们将需要提供一个安装程序,能够安装该类型的包。

来源:https://getcomposer.org/doc/04-schema.md


只需记住“composer-plugin” 类型会首先安装,因此,如果您计划拥有一组用于第三方包的 composer 补丁包,则它变得非常有用。 - Code Slicer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接