NPM install fails if the same package with different checksums presents in local and remote repositories. For example if you have a package within local and remote repositories (same version) but different checksums, the npm install will fail upon verifying the checksum:
1. Cache an npm package (for example function-signature).
2. Download the tgz file and modify the package.json file (keep the version the same).
3. Compress the file again, deploy to local repository.
4. Run npm install against a local repository --> All works.
5. Run npm cache clean
6. Change your .npmrc file to point to virtual repository.
7. Run npm i function-signature --> Will fail upon verifying checksum:
The same will happen if you specify a the version: npm i email@example.com
As a workaround, you can deploy the package to local repository with different version.