我正在编写一个仅安装在开发人员本地计算机上的软件包。我该怎么做才能确保它出现在 require-dev 中的其他包旁边,例如 phpunit 等。
另外,为什么我什至要费心在我的软件包的require-dev中列出任何依赖项,因为它们永远不会安装在目标应用程序中?
我的作曲家.json:
{
"name": "alquesadilla/my-package-name",
"description": "Some thing to help you in your local development.",
"type": "library",
"license": "MIT",
"version": "1.0.0",
"authors": [
{
"name": "Name",
"email": "email@email.com",
"homepage": "http://someurl.com"
}
],
"bin": ["bin/enforce"],
"autoload": {
"psr-4": {
"alquesadilla\MyClass\": "src/"
}
},
"require": {
"squizlabs/php_codesniffer": "3.1.*",
"exussum12/coverage-checker": "0.7.*"
}
}
我该怎么做才能确保它出现在 require-dev 中的其他包旁边,例如 phpunit 等。
你不能。
您唯一的方法是通过下游composer.json
中的安装程序脚本,但这意味着您需要一种方法来强制执行这一点,而我不知道。
有关参考,请参阅 https://getcomposer.org/doc/articles/scripts.md#installer-events。
另外,为什么我什至要费心在我的软件包的require-dev中列出任何依赖项,因为它们永远不会安装在目标应用程序中?
请参阅 composer.json 中的 require 和 require-dev 部分有什么区别?。