Ha pasado ya mucho tiempo desde la última respuesta publicada, pero aún así quisiera dejar algunas recomendaciones al respecto.
1. Crear una versión base
Creas una nueva base en Node.js corriendo
npm init proyecto. Seguidamente agregas todas las dependencias que vayas a necesitar para crear tu versión base para todos tus proyectos en los que podrías incluir varios paquetes, ej:
Código BASH:
Ver originalnpm --save express lodash helmet bcrypt
Seguidamente comprimís tu nueva base quedando listo para poder usarlo en cualquier parte sin necesidad de realizar conexión alguna a internet.
2. Copiar node_modules
Simple como eso. Comprimís el directorio node_modules y lo usas luego en donde quieras. Ojo: siempre teniendo en cuenta que tenga todos los paquetes que necesites para tu labor.
BONUS: Yarn
Como un añadido a lo que ya mencionó @Carlangueitor sobre la cuestión de mantener en caché los paquetes que vas instalando en tu computadora, además de usar local-npm o recurrir a configuraciones "mágicas", podés usar Yarn como alternativa a NPM.
Yarn, al igual que NPM, es un gestor de paquetes para Node.js con la diferencia que Yarn maneja de por sí el cacheo sin necesidad de tener que recurrir a pasos extras como lo harías con NPM. Lo bueno, además del modo off-line, es que verifica la integridad de los paquetes instalados garantizando que las instalaciones de paquetes funcionan exactamente igual en cualquier sistema y ofrece un mejor performance en cuanto al uso de red.
¿Mencioné que podés instalar cualquier paquete de NPM desde Yarn? Pues eso, no cambia nada. Lo único que tenés que hacer es instalar Yarn e instalar las dependencias listadas en el archivo package.json corriendo
yarn install para tener listo tu proyecto.
¡Voilà!
https://yarnpkg.com/en/ https://yarnpkg.com/en/docs/usage