npm install始终使用artifactory镜像源忽略.npmrc文件该如何解决
npm源切换失效问题解决步骤
- 第一步:排查全层级.npmrc配置文件
npm会按优先级从高到低加载多份配置文件,仅删除项目级配置不代表所有配置都被清理:
项目根目录.npmrc > 当前用户根目录.npmrc > npm全局安装目录.npmrc > npm内置默认配置
执行以下命令分别检查对应文件是否残留公司源配置:- 查看用户目录配置(最常见残留位置):
Linux/macOS执行:cat ~/.npmrc
Windows执行:type %USERPROFILE%\.npmrc - 查看全局配置文件路径并检查内容:
先执行npm config get globalconfig拿到全局配置文件路径,打开文件确认是否有jfrog相关配置
- 查看用户目录配置(最常见残留位置):
- 第二步:排查npm相关环境变量
npm支持通过npm_config_registry环境变量覆盖所有配置文件的源设置,很多公司的域管理脚本会强制写入该环境变量:
Linux/macOS执行:echo $npm_config_registry
Windows CMD执行:echo %npm_config_registry%
Windows PowerShell执行:echo $env:npm_config_registry
如果输出为公司jfrog地址,删除该环境变量后重启终端即可生效。 - 第三步:排查项目内其他配置
检查是否存在其他包管理工具的配置文件残留源信息:- 项目根目录的
.yarnrc、.yarnrc.yml - package.json中
publishConfig字段下的registry配置
- 项目根目录的
- 第四步:清理缓存重试
执行以下命令清理残留缓存:npm cache clean --force
手动删除项目根目录的node_modules文件夹、package-lock.json文件后,重新执行npm install即可。 - 临时验证方案
如需单次安装强制走公共源,可以直接指定参数执行:npm install --registry=https://registry.npmjs.com/
也可以执行命令强制覆写全局源配置:npm config set registry https://registry.npmjs.com/ --global
内容的提问来源于stack exchange,提问作者Ian
相关产品推荐
相关产品推荐

