有没有办法交互式安装建议的作曲家包?

Fab*_*ler 11 php command-line-interface dependency-management composer-php

我想为我的作曲家包的用户提供一个界面来选择和安装任何建议的包.似乎没有命令行选项,在API中我只能找到getSuggests()列出建议包的方法.

有没有办法(本机或第三方安装程序),让用户选择建议的包?

小智 22

composer suggests | xargs -i composer require {}
Run Code Online (Sandbox Code Playgroud)


Mic*_*eau 8

尝试

composer suggests
Run Code Online (Sandbox Code Playgroud)

添加标志-v以使其详细.

这不会安装任何东西,它会列出所有的建议.但是,您可以将其传递给composer require并获得所需的输出.


小智 6

这个是为我做的:)

composer suggests | xargs -I '{}' composer require '{}'
Run Code Online (Sandbox Code Playgroud)

希望它会有所帮助:)


Nas*_*lla 6

composer suggests | xargs -L 1 composer require
Run Code Online (Sandbox Code Playgroud)

应该从Windows git bash工作.


Pᴇʜ*_*Pᴇʜ 5

据我所知,使用常见的编写器功能无法实现这一点.

您可以编写自己的脚本来执行post-package-install.但是脚本仅在根包中定义时执行composer.json(有关如何使用脚本的更多信息,请参见此处).依赖项中定义的脚本不会出于安全考虑而执行(前段时间就github对此进行了讨论).

但也许作曲家插件符合您的需求.插件用于扩展作曲家的功能(有关插件的更多信息,请参见此处).

作为一种简单的替代方法,我建议定义一个建议的包消息 php composer.phar require vendor/package:2.*,然后用户可以使用此命令进行安装.不像你要求的那么舒服,但对我认为的大多数用户来说仍然很容易.