如果其他模块需要它,则需要在root Composer文件中使用phpunit



如果其他模块需要它?

是否需要phpunit?

某些依赖项需要phpunit,这是否意味着我还需要root Composer文件中的Phpunit才能完全工作?

简短答案:不,通常您只需要添加要使用的依赖项即可。无论这些依赖性需要什么,它们都应该定义自己。

例如,您的项目需要库a&C.如果图书馆A表示需要库B,则作曲家也将下载它,您不必关心它。当图书馆B定义库C&d作为依赖关系,它也将下载库D,并检查您和库B是否需要可以使用或丢弃错误的库C版本,您或库B需要更改库C的版本要求。

如果库A和B在其DEV依赖性中具有PHPUNIT,则作曲家将忽略这些phpunit,因为require-dev表示不需要使用该库,而仅用于开发。作曲家只会下载您的DEV依赖性(除非您使用--no-dev,例如在您的产品服务器上也不需要开发依赖性,因为您只想运行项目(。

您应该只定义您直接用作根依赖性的依赖项(即使您的依赖项已经提供了它们(。这些依赖关系,您使用的依赖项将为您解决所有这些要求,并确定要下载的内容和哪个版本。

如果您看到一个不知道为什么在那里的库,也可以使用 composer why <vendor/library-name>来找出为什么安装了它。

相关内容

  • 没有找到相关文章

最新更新