Possibly save 1 hour of your time: For some reason trying to upgrade my npm gives a weird error about sha512 – npm ERR! code EINTEGRITY.
Deleting npm and npm-cache folders in Users%username%\AppData\Roaming (windows 10) and running npm install fixed it for me
npm install npm@latest -g
Book – Node.js in Practice