Yarn作用域Registry配置异常:请求URL被注入@myscope%2f
解决Yarn 1.x作用域Registry请求URL追加作用域的问题
问题原因
你的配置存在两个核心问题:
.yarnrc有语法错误(多余引号);- Yarn默认会把作用域编码后追加到Registry URL末尾,但你的Artifactory仓库中存储的包不带作用域前缀。
修复步骤
1. 修正.yarnrc配置
将原.yarnrc内容替换为:
@myscope:registry "https://artifactory.mycompany.com/artifactory/api/npm/myco/" @myscope:noScope true
- URL末尾添加斜杠,避免路径拼接异常;
@myscope:noScope true会强制Yarn请求@myscope/web-components时,直接访问Registry下的web-components路径,不再追加作用域前缀。
2. 清除Yarn缓存
运行命令清除旧缓存,避免残留配置干扰:
yarn cache clean
3. 重新执行安装
运行安装命令验证请求URL是否符合预期:
yarn install --verbose
替代配置方式(可选)
如果偏好在package.json中配置,可添加如下内容:
"npmScopes": { "myscope": { "registry": "https://artifactory.mycompany.com/artifactory/api/npm/myco/", "noScope": true } }
额外验证
确认Artifactory仓库中web-components包的0.0.29版本确实存在于指定Registry路径下,排除包本身不存在导致的404问题。
内容的提问来源于stack exchange,提问作者Sonic Soul
相关产品推荐
相关产品推荐

