【发布时间】: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 下载第一个包
提前谢谢你。
【问题讨论】: