Same like bower, it might happen that you need to build things not only locally but also in some sort of CI. Deploying a npm proxy cache is fairly easy.
Installation
I suggest to add a specific user for this:
useradd -m -d /var/cache/npm -s /bin/false npm
Some neccessary packages:
apt-get install nodejs
You probably want to fetch the latest packages.
Now we install the cache:
sudo -u npm /bin/bash
cd
npm install npm-proxy-cache
Startup
/etc/systemd/system/npm-proxy-cache.service
[Unit]
Description=npm proxy cache
After=network.target
After=syslog.target
[Service]
RuntimeDirectory=npm-proxy-cache
PIDFile=/var/run/npm-proxy-cache/npm-proxy-cache.pid
WorkingDirectory=/var/cache/npm
ExecStart=/var/cache/npm/node_modules/npm-proxy-cache/bin/npm-proxy-cache -e -h %H
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=npm-proxy-cache
User=npm
Group=npm
[Install]
WantedBy=multi-user.target
Client usage
npm config set proxy http://npm-proxy-cache.example.com:8080
npm config set https-proxy http://npm-proxy-cache.example.com:8080
npm config set strict-ssl false