Azure Pipeline中npm install E401认证失败排查求助
解决Azure DevOps自托管代理npm install E401认证失败问题
针对你遇到的新自托管代理上多数项目npm install报E401、仅一个缓存项目成功的问题,可按以下步骤排查解决:
清理npm缓存
代理的npm缓存中可能残留了旧的HTTP源缓存包,导致新的HTTPS源请求时认证失效。在流水线中添加缓存清理步骤,或者切换到代理运行的服务账户下执行命令:npm cache clean --force也可以直接在npm install命令中强制跳过缓存:
npm install --ignorescripts --no-cache验证npm Authenticate任务的配置生效情况
在流水线中添加步骤,打印经过npmAuthenticate@0处理后的.npmrc内容,确认令牌是否正确注入:# Linux/macOS cat Code/<project>/.npmrc # Windows type Code/<project>/.npmrc同时打印当前生效的npm全局配置,排查是否存在优先级更高的全局.npmrc干扰:
npm config list确认代理服务账户的权限
手动执行成功用的是你的个人用户,但代理是用指定服务账户运行的,需确保该服务账户拥有Azure DevOps私有feed的读取权限,且证书已正确安装到服务账户的证书存储中(而非仅你的个人账户)。统一项目级.npmrc配置
若项目中存在多个.npmrc文件,或全局.npmrc有旧配置,可在npm install前强制设置项目级registry:npm config set @<ourscope>:registry=https://<azdoserver>/tfs/<collection>/_packaging/<feed>/npm/registry/ npm config set always-auth=true
内容的提问来源于stack exchange,提问作者MiGro
相关产品推荐
相关产品推荐

