web-dev-qa-db-ja.com

Angular `ng update @angular / ...`は `401 Unauthorized`を返します

npm -v6.0.0を返します

node -vv10.0.0を返します

Angular CLIのローカルバージョンとグローバルバージョンは6.0.0です

ng new sampleを使用して新しいパッケージを作成し、npm installを問題なく実行してから、ng update @angular/coreまたはng update @angular/cliを試し、401 Unauthorizedを取得します。

すでにAngular 6リポジトリで更新を実行しようとすると冗長に思われますが、Angular 5リポジトリでもこの問題があります。

ng5-sample git:(ng6) ✗ ng update @angular/core, 401 Unauthorized

このエラーから続けることはあまりありません。それは、ng updateに特に関係するものですか、それとも外部の無関係な構成である可能性が高いですか?

6
MattTreichel

私は同じエラーメッセージで苦労していました。私にとっては、npmレジストリへの接続方法に関する情報を含むプロジェクトディレクトリのカスタム.npmrcが原因でした。

解決方法は次のとおりです。

  1. 更新中にファイルを削除しました(mv .npmrc backup.npmrc
  2. package.jsonから内部npmレジストリからアーティファクトへのすべての依存関係を削除しました
  3. 実行されたng update @angular/cli
  4. ファイルを元の位置に戻しましたmv backup.npmrc .npmrc
  5. 実行npm install(念のため)

https://github.com/angular/angular-cli/issues/10704 でangular-cliの問題も作成しました

19
Korgen

承認された回答に示されているように、この問題は、カスタムレジストリが構成のどこかに定義されていることが原因です。 .yarnrc.npmrcなどの.rcファイルを使用するか、npm config set registry <url>またはyarn config set <name>:registry <url>で直接設定します。問題を回避するためにこれらのレジストリ設定を元に戻す必要はありません! ng updateコマンドは、レジストリURLを引数として使用します。ただし、カスタムレジストリに依存するパッケージへの参照はすべて削除する必要があります。コマンドが問題のあるパッケージが何であるかを教えてくれるので心配しないでください。次のようにコマンドを実行してください:

糸の場合:

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

npm:の場合

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

次のようなエラーが発生するはずです:Not found : @fortawesome/fontawesome-pro

次に、package.jsonの依存関係から問題のパッケージを一時的に削除して、再試行できます。

2
schmidlop

同じ問題がありました。ここで私はそれをどのように解決したかです。

npm i -g @angular/cli@latest
ng update
ng update --all
0

偶然、更新しようとしたときにアプリを実行していましたか?同じ問題があり、アプリプロセスを停止して最新のCLIをグローバルにインストールした後、5.29から6.0.0に更新できました。

0
Jay Hoots