Gibt es eine Option, ein NPM-Paket ohne Abhängigkeiten zu installieren?

Gibt es eine Option, ein NPM-Paket ohne Abhängigkeiten zu installieren?

Ich versuche, ein NPM-Paket mit mehreren Abhängigkeiten zu ändern. Die Ausführung dauert daher npm install -g .sehr lange. Habe ich andere Möglichkeiten, als die Abhängigkeiten aus packages.json zu entfernen?

Antwort1

--no-optionalOption ist nun gemäß dieser Dokumentation implementierthttps://docs.npmjs.com/cli/install:

The --no-optional argument will prevent optional dependencies from being installed.

Antwort2

Wenn Sie das selbst entwickeln node_module, verschwenden Sie Ihre Zeit nicht mit npm installs, sondern verwenden Sie stattdessen npm link.

Kurz gesagt, Sie erstellen einen symbolischen Link zu Ihrem Modulordner in einem globalen Ordner von npm und fordern npm dann in Ihrem App-Ordner auf, diesen symbolisch verknüpften Ordner zu verwenden.

Dadurch werden die Änderungen, die Sie im Modulordner vornehmen, sofort in Ihrer App angezeigt.

Hier sind die wichtigsten Schritte (kopiert aus dem unten verlinkten Tutorial, lesen Sie unbedingt das Tutorial wegen der wichtigen Fallstricke):

  1. CD zusrc/my_module
  2. Führen Sie " npm link" aus. Dadurch wird ein symbolischer Link von einem globalen Ordner zu dem src/my_moduleOrdner erstellt.
  3. CD zusrc/my_app
  4. Führen Sie aus npm link my_module. Dies verknüpft node_modules/my_moduledieses bestimmte Projekt mit dem globalen Ordner, sodass requireAufrufe, die my_moduledanach suchen, es aus Ihrem Entwicklungsordner laden src/my_module.

Sehen Sie sich dieses Tutorial an: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

Antwort3

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: Benennen Sie package.json vor der Ausführung der npm-Installation in etwas anderes um und setzen Sie es nach Abschluss der Installation wieder auf diesen Namen zurück:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

Antwort4

Durchsuchendie Dokumentees scheint keine andere Option als den --no-optionalSchalter zu geben.

Ungetestet/unbestätigt

Dieses SO Q&A hat den Titel:npm installinstalliert alle Abhängigkeiten meines Projekts über das Netzwerk, auch wenn diese bereits installiert oder im Cache verfügbar sindwürde bedeuten, dass es einen --skip-installedSchalter gibt. In den Dokumenten wird dieser Schalter jedoch nicht erwähnt.

verwandte Informationen