Angular `ng update @angular/...` returns `401 Unauthorized`

I was struggling with the same error message. For me it was caused by a custom .npmrc in the project directory which contained information about howto connect to our npm registry.

Here's how I resolved it:

  1. removed the file during the update (mv .npmrc backup.npmrc)
  2. removed all dependencies to artifacts from our internal npm registry from the package.json
  3. ran ng update @angular/cli
  4. moved file back to old position mv backup.npmrc .npmrc
  5. ran npm install (just to make sure)

I also created an angular-cli issue at https://github.com/angular/angular-cli/issues/10704


As indicated in the accepted answer this problem comes from having a custom registry defined somewhere in your configuration. Via .rc files such as .yarnrc or .npmrc or set directly with the npm config set registry <url> or yarn config set <name>:registry <url>. You don't need to undo these registry configurations to work around the issue! The ng update command will take a registry url as an argument. However, you will have to remove any reference to packages that rely on your custom registry. Don't worry the command will tell you what the offending packages are, just run the command like so:

for yarn:

ng update @angular/cli @angular/core --registry https://registry.yarnpkg.com

for npm:

ng update @angular/cli @angular/core --registry https://registry.npmjs.org

Should result in an error like: Not found : @fortawesome/fontawesome-pro

Then you can temporarily remove the offending package from your dependencies in package.json and try again.