Napotkałem ciekawy problem - najwyraźniej niektóre moduły Node.js mają tak głębokie hierarchie folderów, że polecenie kopiowania systemu Windows (lub PowerShell, Copy-Item
którego w rzeczywistości używamy) trafia w niesławny błąd „ścieżka zbyt długa”, gdy ścieżka ma ponad 250 znaki długie.
Na przykład jest to hierarchia folderów, którą może utworzyć pojedynczy moduł Node:
node_modules\nodemailer\node_modules\simplesmtp\node_modules\
xoauth2\node_modules\request\node_modules\form-data\node_modules\
combined-stream\node_modules\delayed-stream\...
Wydaje się to szalone, ale jest rzeczywistością w przypadku modułów Node.
Musimy używać kopiuj-wklej podczas wdrażania (nie używamy "sprytnej" platformy docelowej, takiej jak Heroku, gdzie wdrożenie Git byłoby opcją) i jest to poważne ograniczenie w systemie Windows.
Czy nie ma polecenia npm lub czegoś, co skompaktowałoby node_modules
folder lub może zawierało tylko to, co jest faktycznie konieczne w czasie wykonywania? (Moduły węzłów zwykle zawierają test
foldery itp., Których nie musimy wdrażać). Czy masz inne pomysły, jak to obejść? Nieużywanie systemu Windows niestety nie wchodzi w grę :)
package.json
zdependencies
zestawem? Jeśli tak, czy możesz kopiować beznode_modules
i używać npm doinstall
lubupdate
zależności?