编程语言
首页 > 编程语言> > 首页> PHP>如何强制开发依赖从依赖也要与作曲家一起安装?

首页> PHP>如何强制开发依赖从依赖也要与作曲家一起安装?

作者:互联网

我目前正在开发一个程序包(cms),该程序包与某个程序包(code-generator)的开发依赖关系来创建代码.生产中不需要此软件包.

但是,在创建使用cms软件包的网站时,未安装dev-dependencies(包括代码生成器)(正确的作曲家行为是btw).

但是在开发网站时,需要代码生成器.

在安装软件包时,是否有任何方法可以强制某些dev-dependency也要安装?

解决方法:

这是不可能的.可能需要依赖才能使程序包正常工作(那么它应该在require节中,并且始终安装),或者仅对于开发此程序包是必需的(然后,它应该在require-dev节中,并且仅在包时安装)存储库是根目录).两者之间没有任何关系.如果您的程序包需要此代码生成器依赖项才能正常工作,则它显然无法进入第一类(需求部分).

通常,在这种情况下,最好的解决方案是将此程序包分为2个程序包:常规程序包和dev程序包,其中所有工具仅在开发过程中使用.因此,应通过2条命令进行安装:

composer require myvendor/mypackage
composer require myvendor/mypackage-dev --dev

这仍然需要每个人都安装两个软件包而不是一个软件包,但是如果有正确的文档说明,这应该不是什么大问题.结果应该更清楚(应该很明显myvendor / mypackage-dev软件包的目的是什么),并为软件包所有者(他可以轻松地为dev软件包添加新的依赖项)和最终用户(他可以始终跳过安装)提供更多控制权myvendor / mypackage-dev(如果他不想使用此代码生成器).

标签:composer-php,php
来源: https://codeday.me/bug/20191109/2011081.html