Ich bin auf ein merkwürdiges Problem gestoßen - anscheinend haben einige Node.js-Module so tiefe Ordnerhierarchien, dass der Windows-Kopierbefehl (oder der PowerShell-Befehl, Copy-Item
den wir tatsächlich verwenden) den berüchtigten Fehler "Pfad zu lang" trifft, wenn der Pfad über 250 liegt Zeichen lang.
Dies ist beispielsweise eine Ordnerhierarchie, die ein einzelnes Knotenmodul erstellen kann:
node_modules\nodemailer\node_modules\simplesmtp\node_modules\
xoauth2\node_modules\request\node_modules\form-data\node_modules\
combined-stream\node_modules\delayed-stream\...
Es scheint verrückt zu sein, ist aber mit Node-Modulen Realität.
Wir müssen während der Bereitstellung Copy-Paste verwenden (wir verwenden keine "clevere" Zielplattform wie Heroku, bei der eine Git-Bereitstellung eine Option wäre), und dies ist eine schwerwiegende Einschränkung unter Windows.
Gibt es nicht einen npm-Befehl oder etwas, das den node_modules
Ordner komprimiert oder nur das enthält, was zur Laufzeit tatsächlich erforderlich ist? (Knotenmodule enthalten normalerweise test
Ordner usw., die wir nicht bereitstellen müssen.) Haben Sie weitere Ideen, wie Sie das umgehen können? Windows nicht zu benutzen ist leider keine Option :)
npm install
in der Zielumgebung nicht. Sie erstellt lokal ein "Bereitstellungspaket" (im Grunde eine ZIP- Datei plus einige Metadaten), das dann auf den Zielcomputer hochgeladen, dort extrahiert und fertig ist. Also muss ich node_modules
direkt einbeziehen.
package.json
With-dependencies
Set? Wenn ja, könnten Sie ohnenode_modules
und mit npm toinstall
oderupdate
den Abhängigkeiten kopieren ?