2017-10-08 1 views
0

Ich schreibe ein Paket, das nur auf lokalen Maschinen des Entwicklers installiert werden soll. Was kann ich tun, um sicherzustellen, dass es neben anderen Paketen in require-dev wie phpunit usw. erscheint.Wie kann ich sicherstellen, dass das Paket, das ich schreibe, im Require-Dev der Zielanwendung ist?

Auch warum würde ich sogar Mühe auflisten alle Abhängigkeiten in require-dev von meinem Paket, da sie sowieso nie in der installiert werden Zielanwendung ??

Mein 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 protected]", 
     "homepage": "http://someurl.com" 
    } 
    ], 
    "bin": ["bin/enforce"], 
    "autoload": { 
    "psr-4": { 
     "alquesadilla\\MyClass\\": "src/" 
    } 
    }, 
    "require": { 
    "squizlabs/php_codesniffer": "3.1.*", 
    "exussum12/coverage-checker": "0.7.*" 
    } 
} 

Antwort

2

Was kann ich auszukommen sicher, dass es neben anderen Paketen erscheint in require-dev wie phpunit usw.

Sie können nicht.

Die einzige Möglichkeit, die Sie könnten mit Hilfe eines Installer-Skript in der Downstream composer.json, aber das würde bedeuten, dass Sie einen Weg, um dies zu erzwingen benötigen, und es gibt keine, die ich bewusst bin.

Als Referenz siehe https://getcomposer.org/doc/articles/scripts.md#installer-events.

Auch warum würde ich sogar Mühe auflisten alle Abhängigkeiten in Require-Dev meines Pakets, da sie sowieso in der Zielanwendung installiert werden ??

Siehe What is the difference between require and require-dev sections in composer.json?.

Verwandte Themen