Я столкнулся с любопытной проблемой - очевидно, у некоторых модулей Node.js настолько глубокая иерархия папок, что команда копирования Windows (или PowerShell, Copy-Item
что мы на самом деле используем) выдает печально известную ошибку «путь слишком длинный», когда путь превышает 250 символы длинные.
Например, это иерархия папок, которую может создать один модуль 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\...
Это кажется безумием, но это реальность с модулями Node.
Нам нужно использовать копирование и вставку во время развертывания (мы не используем «умную» целевую платформу, такую как Heroku, где развертывание Git было бы вариантом), и это серьезное ограничение для Windows.
Нет ли команды npm или чего-то, что могло бы сжать node_modules
папку или, возможно, включить только то, что действительно необходимо во время выполнения? (Модули узла обычно содержат test
папки и т. Д., Которые нам не нужно развертывать.) Есть другие идеи, как это обойти? Не использовать Windows, к сожалению, не вариант :)
package.json
сdependencies
набором? Если да, не могли бы вы скопироватьnode_modules
и использовать npm вinstall
илиupdate
зависимости?