我正在编写一个仅在开发人员本地计算机上安装的软件包。我该怎么做才能确保它出现在require-dev中的其他包旁边,如phpunit等。
另外,为什么我甚至不愿在我的软件包的require-dev中列出任何依赖项,因为它们永远不会在目标应用程序中安装?
我的composer.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.*"
}
}
答案 0 :(得分:2)
我可以做些什么来确保它出现在require-dev中的其他软件包旁边,如phpunit等。
你不能。
唯一可能的方法是通过下游composer.json
中的安装程序脚本,但这意味着您需要一种方法来强制执行此操作,并且我不知道这一点。
供参考,请参阅https://getcomposer.org/doc/articles/scripts.md#installer-events。
另外,为什么我甚至不愿在我的软件包的require-dev中列出任何依赖项,因为它们永远不会在目标应用程序中安装?
请参阅What is the difference between require and require-dev sections in composer.json?。