簡體   English   中英

Angular `ng update @angular/...` 返回 `401 Unauthorized`

[英]Angular `ng update @angular/...` returns `401 Unauthorized`

npm -v返回6.0.0

node -v返回v10.0.0

Angular CLI 本地和全球版本是6.0.0

我用ng new sample創建了一個新包,運行npm install沒有問題,然后我嘗試ng update @angular/coreng update @angular/cli並得到401 Unauthorized作為響應。

嘗試在已經存在的 Angular 6 存儲庫上運行更新似乎是多余的,但我在 Angular 5 存儲庫中也遇到了這個問題。

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

這個錯誤我沒有什么可做的,它是專門與ng update還是更可能是它之外的一些不相關的配置?

我正在努力解決相同的錯誤消息。 對我來說,這是由項目目錄中的自定義.npmrc引起的,其中包含有關如何連接到我們的npm注冊表的信息。

這是我如何解決它:

  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問題

如接受的答案所示,此問題來自於在配置中的某處定義了自定義注冊表。 通過.rc文件,如.yarnrc.npmrc或直接使用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中的依賴項中刪除有問題的包,然后重試。

您是否偶然在嘗試更新時運行應用程序? 我遇到了同樣的問題,並且在停止應用程序進程並在全局安裝最新的cli之后能夠從5.29更新到6.0.0。

我遇到過同樣的問題。 這是我如何解決它。

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

在嘗試其他任何事情之前,請轉到Artifactory UI Home,然后在Set Me Up小部件中滾動到您在.npmrc 中注冊表提供的 npm repo。 單擊它,然后在彈出窗口中輸入您的密碼以生成配置並復制和粘貼帶有authusernameemailregistry 的部分 身份驗證與您預期的不同(它不是用戶配置文件中的 API 密鑰,也不是某些來源建議的加密密碼)。 這給我帶來了很多問題,直到我找到了在Artifactory UI 中生成配置的方法。 順便提一句:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM