Ich versuche, ein npm-Paket mit mehreren Abhängigkeiten zu ändern. Daher npm install -g .dauert die Ausführung sehr lange. Habe ich neben dem Entfernen der Abhängigkeiten aus packages.json noch andere Optionen?
Ich versuche, ein npm-Paket mit mehreren Abhängigkeiten zu ändern. Daher npm install -g .dauert die Ausführung sehr lange. Habe ich neben dem Entfernen der Abhängigkeiten aus packages.json noch andere Optionen?
Antworten:
Die Option --no-optional ist jetzt gemäß der folgenden Dokumentation implementiert : https://docs.npmjs.com/cli/install :
The --no-optional argument will prevent optional dependencies from being installed.
In den Dokumenten scheint es keine Option zu geben, die über den --no-optionalSchalter hinausgeht .
Diese SO Q & A mit dem Titel: npm installInstalliert alle Abhängigkeiten meines Projekts über das Netzwerk, auch wenn sie bereits installiert sind oder aus dem Cache verfügbar sind. Dies scheint zu implizieren, dass ein --skip-installedSchalter vorhanden ist. Die Dokumentation bezieht sich jedoch nicht auf diesen Schalter.
Wenn Sie das node_moduleselbst entwickeln, verschwenden Sie Ihre Zeit nicht mit npm installs, sondern verwenden Sie stattdessen npm link.
Kurz gesagt, Sie erstellen eine symbolische Verknüpfung zu Ihrem Modulordner in einem globalen Ordner, der npm gehört, und fordern dann npm in Ihrem App-Ordner auf, diesen symbolisch verknüpften Ordner zu verwenden.
Dadurch werden Änderungen, die Sie im Modulordner vornehmen, sofort in Ihre App übernommen.
Hier sind die wichtigsten Schritte:
src/my_module npm link" aus. Dadurch wird eine symbolische Verknüpfung von einem globalen Ordner zu dem src/my_moduleOrdner erstellt.src/my_appnpm link my_module. Hiermit wird node_modules/my_modulein diesem Projekt eine Verknüpfung zum globalen Ordner hergestellt, sodass requireAufrufe, die nach dem Auflösen suchen my_module, diesen Ordner aus Ihrem Entwicklungsordner laden
src/my_module.Siehe dieses Tutorial: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears
Und die offiziellen Dokumente für npm link: https://docs.npmjs.com/cli/link
Diese Funktion wurde bereits 2010 angefordert, aber leider ignoriert und geschlossen: https://github.com/npm/npm/issues/340
Ich habe eine Reihe von Optionen ausprobiert und schließlich eine ziemlich einfache Lösung gefunden: Benenne package.json vor der Installation von doint npm in etwas anderes um und stelle es nach Abschluss der Installation wieder her:
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
--ignore-packageoder so geben.