2016-12-14 6 views
1

Ich habe ein Paket (d3.js) in meinem package.json für ein bestimmtes Projekt. Wenn npm install für das Projekt ausgeführt wird, möchte ich npm nicht zu Abhängigkeiten installieren, die sich auf d3.js selbst beziehen, noch beliebige Installationsskripts für es ausführen. Mit anderen Worten, ich möchte, dass npm das Paket einfach holt und in node_modules entpackt, so dass es immer noch als normales Paket zugänglich ist, aber nichts anderes damit tun kann.Ohne NPM-Abhängigkeiten pro Paket-Basis

Mein Grund dafür ist, dass ein regelmäßiges npm install für dieses spezielle Paket node-gyp erfordert ausgeführt werden, und das Build-Rohr I (nicht unter meiner Kontrolle) zu verwenden, habe nicht unterstützt jede Art von nativen Kompilierung, daher schlägt die Installation fehl . Allerdings enthält das Paket bereits vorkompilierte .js Dateien, die die einzigen Dinge sind, an denen ich interessiert bin, und daher ist der Installationsprozess nicht einmal notwendig.

Ist das überhaupt machbar?

+0

Um Pakete zu entfernen, die von NPM installiert werden, bearbeiten Sie die Datei package.json, d. H. Entfernen Sie die Zeile, die das Paket enthält, das nicht installiert werden soll. Die Installation eines bestimmten Moduls wird jedoch alle anderen Module installieren, von denen es abhängt. – Vlad

+0

npm install lädt die Pakete herunter und fügt sie in den Ordner node_modules ein. Überprüfen Sie auch die Datei package.json auf bestimmte Befehle oder Skripts. Wenn der Skriptschlüssel den Namen eines Skripts enthält, führt npm das Skript aus. – Vlad

+0

Ich kann das Problem sicherlich vermeiden, einfach nicht abhängig vom Paket. Allerdings möchte ich mich darauf verlassen - ich möchte einfach keine damit verbundenen Installationsskripte ausführen. – csvan

Antwort

0

Nach einer langen Suche lautet die Antwort nein. Es scheint auch nicht, dass dies ein geplantes Feature für NPM ist, noch könnte es von Yarn (das ich jetzt verwende) bereitgestellt werden.