【问题标题】:Using two or more npm libraries from gitlab npm package in Angular project在 Angular 项目中使用来自 gitlab npm 包的两个或多个 npm 库
【发布时间】:2021-05-10 09:57:36
【问题描述】:

我有两个 npm 库,存储在我们公司的 gitlab 包存储库中。这两个库都是具有不同 id 的独立 gitlab 项目。 如果我尝试单独使用它们 - 一切都很好。但我不能在第三个项目中同时使用它们。

我只找到了一个类似问题的解决方案here,但它没有帮助我。

我的步骤:

第 1 步

npm config set @my-reg/library-one-project-name:registry https://gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/
npm config set "//gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/:_authToken" "PROJECT_ONE_TOKEN"

npm config set @my-reg/library-two-project-name:registry https://gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/
npm config set "//gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/:_authToken" "PROJECT_TWO_TOKEN"

NPM 注册表文件:

@my-reg/library-one-project-name:registry=https://gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/
//gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/:_authToken=PROJECT_ONE_TOKEN
@my-reg/library-two-project-name:registry=https://gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/
//gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/:_authToken=PROJECT_TWO_TOKEN

结果 1:npm 尝试从 npmjs.org 下载包


第 2 步

npm config set @my-reg:registry https://gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/
npm config set "//gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/:_authToken" "PROJECT_ONE_TOKEN"

npm config set @my-reg:registry https://gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/
npm config set "//gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/:_authToken" "PROJECT_TWO_TOKEN"

NPM 注册表文件:

https://gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/=
//gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/:_authToken=PROJECT_ONE_TOKEN
https://gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/=
//gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/:_authToken=PROJECT_TWO_TOKEN

结果 2:npm 尝试从 npmjs.org 下载包


第 3 步

npm config set @my-scope:registry https://gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/
npm config set "//gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/:_authToken" "PROJECT_ONE_TOKEN"

npm config set @my-scope:registry https://gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/
npm config set "//gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/:_authToken" "PROJECT_TWO_TOKEN"

NPM 注册表文件:

@my-scope:registry=https://gitlab.asseco.lt/gitlab/api/v4/projects/222222/packages/npm/
//gitlab.some.url/gitlab/api/v4/projects/111111/packages/npm/:_authToken=PROJECT_ONE_TOKEN
//gitlab.some.url/gitlab/api/v4/projects/222222/packages/npm/:_authToken=PROJECT_TWO_TOKEN

结果 3:npm 从 gitlab 下载 SECOND 库,但尝试从 npmjs.org 下载第一个包

提前谢谢你。

【问题讨论】:

    标签: npm gitlab


    【解决方案1】:

    解决方案是在 gitlab 中为项目组创建令牌(不适用于单个 npm 项目),其中存储库并将此密钥添加到此注册表中所有包的 npm config。以下是如何将同一范围内的多个库添加到项目:

    npm config set @my-scope:registry=https://gitlab.some.url/gitlab/api/v4/packages/npm/
    npm config set "//gitlab.some.url/gitlab/api/v4/packages/npm/:_authToken=PROJECTS_GROUP_TOKEN"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 1970-01-01
      • 2023-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多