Eu me deparei com um problema curioso - aparentemente, alguns módulos Node.js têm hierarquias de pasta tão profundas que o comando de cópia do Windows (ou do PowerShell, Copy-Itemque é o que estamos realmente usando) atinge o erro infame "caminho muito longo" quando o caminho está acima de 250 chars long.
Por exemplo, esta é uma hierarquia de pastas que um único módulo Node pode criar:
node_modules\nodemailer\node_modules\simplesmtp\node_modules\
xoauth2\node_modules\request\node_modules\form-data\node_modules\
combined-stream\node_modules\delayed-stream\...
Parece loucura, mas é uma realidade com os módulos do Node.
Precisamos usar copiar e colar durante a implantação (não estamos usando uma plataforma de destino "inteligente" como Heroku, onde a implantação do Git seria uma opção) e essa é uma limitação séria no Windows.
Não existe um comando npm ou algo que compactaria a node_modulespasta ou talvez incluísse apenas o que é realmente necessário em tempo de execução? (Módulos de nó geralmente contêm testpastas etc. que não precisamos implantar.) Alguma outra ideia de como contornar isso? Não usar o Windows, infelizmente, não é uma opção :)
npm installno ambiente de destino, ele funciona criando um "pacote de implantação" localmente (basicamente um ZIP mais alguns metadados) que é então carregado para a máquina de destino, extraído lá e pronto. Portanto, preciso incluir node_modulesdiretamente.
package.jsoncomdependencies? Em caso afirmativo, você poderia copiar semnode_modulese usar o npm parainstallouupdatenas dependências?