Caveat, I am running npm install from within a Docker container that is being used as a Jenkins build slave but I have established that the npm cache is not corrupted and is being stored in a volume persisted across container runs and rms, you can see that proof here
When I run npm cache ls many packages from my package.config are listed:

And yet, every time I run npm install or npm --skip-installed --cache-min 9999999 install every single package is installed.
- The environment is is a Centos7 docker container
- node --version 6.11.4
- npm --version 3.10.10
When I run npm install twice on my localhost Windows 10 machine, same node version and npm version, the cache is clearly used the second time npm install is ran:
