簡體   English   中英

從私有 gitlab 注冊表安裝多個 npm 包

[英]Install multiple npm packages from private gitlab registry

我正在使用 gitlab 來托管我的私有 npm 包。 目前我有 2 個項目發布到 gitlab package 注冊表。 這兩個包都被另一個項目(比如說第三個項目)使用。 根據 gitlab 文檔,我使用以下命令在第三個項目中安裝了這兩個包:

npm config set @myscope:registry https://gitlab.com/api/v4/projects/<first-project-id>/packages/npm/
npm config set "//gitlab.com/api/v4/projects/<first-project-id>/packages/npm/:_authToken" "<auth-token>"
npm install @myscope/first-package

npm config set @myscope:registry https://gitlab.com/api/v4/projects/<second-project-id>/packages/npm/
npm config set "//gitlab.com/api/v4/projects/<second-project-id>/packages/npm/:_authToken" "<auth-token>"
npm install @myscope/second-package

我現在的問題是我不能再運行簡單的“npm install”了,因為我的第三個項目依賴於 2 個私有包。 當然,我可以在第三個項目中運行“npm install”之前調用“npm config set”,但問題是當我為第二個項目調用“npm config set”時,它會替換第一個配置(因為兩者都有范圍相同)。 所以我只能安裝 1 個 package,第二個我收到一個錯誤,因為它找不到(因為它在 gitlab 中有另一個項目 ID,因此另一個 ZEFE90A8E604A7C640E88D03A78ZF 注冊表)。 我已經嘗試了以下但沒有成功:

npm config set @myscope/first-package:registry https://gitlab.com/api/v4/projects/<first-project-id>/packages/npm/
npm config set "//gitlab.com/api/v4/projects/<first-project-id>/packages/npm/:_authToken" "<auth-token>"
npm install @myscope/first-package

npm config set @myscope/second-package:registry https://gitlab.com/api/v4/projects/<second-project-id>/packages/npm/
npm config set "//gitlab.com/api/v4/projects/<second-project-id>/packages/npm/:_authToken" "<auth-token>"
npm install @myscope/second-package

但現在我無法安裝任何軟件包。 那么,任何人都知道我如何為共享相同 scope 但具有不同 url 的包設置注冊表 URL?

我終於通過使用實例級安裝解決了這個問題。 首先,我認為它對我不起作用,因為它仍然告訴我 404。但問題是 gitlab 指示我運行npm config set '//gitlab.com/api/v4/packages/npm/:_authToken' "<my-token>" 但這不適用於我的 Windows,因為 url 周圍有撇號。 我用 " 替換了它們,現在一切正常。

暫無
暫無

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

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