同一Scope下多GitLab项目的.npmrc配置冲突解决咨询
解决同Scope下多GitLab npm包的.npmrc配置冲突问题
问题核心是重复定义@scope:registry和全局GitLab npm仓库token后,后续配置会覆盖前者,导致请求其中一个包时使用了错误的token。
直接用以下配置替换现有.npmrc即可:
# 统一设置scope对应的注册表地址 @scope:registry="https://gitlab.com/api/v4/packages/npm/" # 仅针对项目A的npm仓库路径配置专属token //gitlab.com/api/v4/projects/123/packages/npm/:_authToken=xyz # 仅针对项目B的npm仓库路径配置专属token //gitlab.com/api/v4/projects/345/packages/npm/:_authToken=abc
原理:npm请求@scope/A时会自动匹配项目123对应的路径token,请求@scope/B时则匹配项目345的token。只保留一次scope的registry配置,就能避免覆盖问题。
配置完成后,分别执行npm info @scope/A和npm info @scope/B验证是否能正常获取包信息。
内容的提问来源于stack exchange,提问作者Nikhil Gupta
相关产品推荐
相关产品推荐

