Ausführen von npm `postinstall` script nach dem original `npm install` endet? (Vielleicht durch die Verwendung eines Knoten-trick?)

Ich versuche zu schaffen, ein npm-Modul, das mit einem postinstall - Skript, das ändern des Benutzers package.json - und re-installieren von Paketen. Ich bin fast da, aber das problem das ich habe ist, dass die npm-CLI läuft mein postinstall Skript zu früh.

Gibt es eine Möglichkeit, vielleicht durch die mithilfe von Knoten-oder system-level-trick, zu warten, für die ganze npm install Prozess zu beenden, bevor mein Skript ausgeführt wird? Wie bei npm ruft meine postinstall Skript, in dieser Zeit kann ich mich anmelden ein script ausgeführt wird, nach der npm install endet?

Was meine ich mit "zu früh"? Zum Beispiel, nach yarn install, die yarn.lock Datei wird nicht genau der package.json wenn mein script stört yarn install. Jedoch, wenn mein Skript wartet, bis yarn install komplett fertig stellen und dann läuft ein weiteres yarn install, die yarn.lock Datei genau und weitere yarn install Befehle output "Bereits up-to-date".

  • Bitten Sie den Benutzer, ein Skript ausführen, die erste ruft npm install und ruft dann Ihre postInstall Skript?
  • können Sie nach Ihrem Paket.json
  • Dies ist die neueste mit hat die änderungen, die jervtub vorgeschlagen unpkg.com/[email protected]/package.json
  • was ist Ihre npm-und Knoten-Versionen ?
  • npm 4.5.0-und Knoten-6.10.2.
  • Ich denke, man könnte eher sein, suchen für hook-Skripte; siehe docs.npmjs.com/misc/scripts#hook-scripts
  • Also wenn ich das richtig verstehe, Sie möchten, verwenden Sie den Paket.json aktualisieren "von selbst" und dann führen Sie sich wieder? (Kein Wortspiel beabsichtigt)
  • Ps. Ich würde die Nüsse gehen, wenn ich eine npm-Paket und würde es Bearbeiten mein Paket.json. Das Ding ist heilig, man kann Sie nicht Durcheinander herum gibt.
  • Würde es nicht ändern Sie Ihre package.json es sei denn, Sie ging durch die Probleme mit der Konfiguration Ihres package.json speziell für die Arbeit mit diesem Paket, das würden Sie nicht tun, es sei denn, Sie haben verstanden, wie das Paket funktioniert.
  • hast du eine Lösung finden?, Ich habe die gleiche Anforderung haben, bitte lassen Sie mich wissen,
  • NÖ, war nicht in der Lage, eine Lösung zu finden. Landete nach einem komplett anderen Ansatz für mein Ziel erreichen.
  • cool, ich habe auch herauszufinden, etwas, vielen Dank

InformationsquelleAutor M.K. Safi | 2017-05-09
Schreibe einen Kommentar