让 Composer 建议将开发包放到 require-dev
Composer 2.4 添加了一个新特性,使得如果包用作开发工具使,composer require
命令提示使用 --dev
标志安装该包。
当传入 --dev
标志时,该包在 composer.json
文件的 require-dev
区域中安装,其他 Composer 命令(比如 composer update
,install
, dump-autoload
等等)跳过可以可选地跳过的 require-dev
依赖。
Composer 安装时检测 composer.json
的 keywords
区域,如果它包含 dev
,testing
或 static analysis
等关键词,如果每传入 --dev
,Composer 会提示用户使用 --dev
安装。
该提示包含为什么该软件包被判定为开发依赖:
The package you required is recommended to be placed in require-dev (because it is tagged as "testing") but you did not use --dev.
如果 Composer 以非交互环境(比如 CI 编译或者使用 --no-interaction
标志时)运行时,会跳过给特性。
如何让 Composer 在你的包中提示 --dev
标志
如果你发布了开发者工具(比如测试工具,数据修复工具和调试工具等),你可以使用这个特性,这样 Composer 会交互提示将其安装到 require-dev
区域,以免用户忘记使用 --dev
标记。为此,请在包的 composer.json
文件中将以下关键词添加到 keywords
区域。
Composer 使用的关键词用以将包推荐为开发依赖:
dev
testing
static analysis
请更新 composer.json
文件,并将以上的关键词之一添加到 keywords
区域:
"name": "you/your-dev-tool",
+ "keywords": ["dev"],
"type": "library",
关键词只需在默认分支中显示,不是所有分支和标签中都是必须的。