我有两个npm库,存储在我们公司的gitlab包存储库中。这两个库都是具有不同ids的单独的gitlab项目。如果我试着分开使用它们--一切都很好。但我不能在第三个项目中同时使用它们。
对于类似的here问题,我只找到了一个解决方案,但它并没有帮助我。
我的脚步:
第一步
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加载包
第二步
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加载包
第三步
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下载第二个库,但尝试从npmjs.org下载第一个包
提前谢谢你。
发布于 2021-05-13 11:56:55
解决方案是为gitlab中的projects组创建令牌(而不是为单个npm项目创建令牌),其中存储库,并将此键添加到此注册表中的所有包的npm配置中。下面是如何从同一个范围向项目添加多个库:
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"https://stackoverflow.com/questions/67468408
复制相似问题