2016-05-03 19 views
1

Ich versuche mein erstes PHP-Projekt auf packagist.org aufzusetzen, aber der Name meines Lieferanten ist bereits vergeben. Ich habe bereits eine getaggte Version zu Github geschoben; Jetzt muss ich meine Composer-Datei ändern, ohne ein neues Git-Tag zu erstellen, was nicht so einfach ist, als einfach die Änderungen an Github zu übertragen. Meine Frage ist: Wie mache ich einen Namespace-Check, bevor ich das Paket nenne? Das gleiche Problem mit dem Codenamenabstand. Wie kann ich eine Suche durchführen, um einen Konflikt zu vermeiden?Wie überprüft man, ob Ihr Projektname auf packagist.org verfügbar ist?

Antwort

1

Sie können einen Scheck mit search tun:

composer search somevendor 

Dann warten nur zu sehen, wenn einige Pakete auftauchen.

Sie können jedoch nicht wirklich nach Namensräumen suchen. Ich denke, Ihre beste Wette ist, mit Ihrem Lieferantennamen zu bleiben. Und selbst wenn Sie einen kollidierenden Lieferantennamen haben, wird sich Ihr Projektname normalerweise immer noch unterscheiden.

+0

Am Ende wurde 'packagist.org/packages/myvendorname' im Browser ausgeführt, um zu sehen, ob etwas aufkam (Weiterleitung zur Suche, wenn der Name nicht verwendet wird). Ich denke immer noch, dass es ein Werkzeug dafür geben sollte und nach Code-Namespaces suchen sollte (wie eine Preflight-Prüfung) – Gboyega

+0

Es gibt keine Möglichkeit herauszufinden, welche Namespaces innerhalb einer Bibliothek benutzt werden, außer dass sie alle Dateien durchlaufen, wie die Namespaces nicht unbedingt mit Ihrem Paketnamen verknüpft. Was den Namen des Verkäufers betrifft, wie soll der Komponist eigentlich wissen, dass Sie kein neues Paket für diesen Anbieter erstellen? Selbst wenn es dafür Überprüfungen gab, ist "packagist" nicht das einzige Paket-Repository, das Sie verwenden können. –

+0

Wie gesagt, es ist am besten, wenn Sie nur bei Ihrem ursprünglichen Hersteller/Paket bleiben und Sie sollten nicht in Konflikte geraten ... Definitiv nicht auf Code-Ebene. Es ist nichts schlimmes, wenn sich dein Packagist-Name von deinem Namespace unterscheidet. –