.npmrc 文件中 proxy、https-proxy、registry 这三个值的讲解

132 阅读1分钟

.npmrc 文件中的这三行配置含义

proxy=http://proxy.xxx.com:80/
https-proxy=http://proxy.xxx.com:80/
registry=https://xxxxx.com/xxxx/api/npm/x_common_npm/

1. proxyhttps-proxy

  • 这两个配置分别是:

    • proxy:用于配置 HTTP 协议下的代理。
    • https-proxy:用于配置 HTTPS 协议下的代理。
  • 作用:
    当你在公司内网环境或使用了某些防火墙/镜像源时,npm 通过设置的代理访问外部服务(例如 NPM registry)。

  • 原理:
    npm 在安装依赖时会通过这些代理地址中转请求,相当于:

    npm <-> proxy.xxx.com <-> npm registry (或你的私服)
    

2. registry

  • 表示你的依赖包下载源地址,覆盖默认的 https://registry.npmjs.org/

  • 设置为:

    https://xxxxx.com/xxxx/api/npm/x_common_npm/
    

    意味着你使用的是公司内部的 npm 私服(例如 JFrog Artifactory)。

  • 作用:

    • 下载依赖时不会访问公网 npm,而是访问公司内部的私服,提高安装速度和安全性。
    • 也方便团队统一版本、发布内部私有包。

总结:

问题答案
1. 同时存在 yarn.lock 和 package-lock.json?不要共存!二选一,选用你实际用的包管理器(yarnnpm),并删除另一个锁文件。
2. .npmrc 中的 proxy 和 registry?用于配置 HTTP/HTTPS 代理 + 私服地址,常用于公司内网访问 npm 私服加速和安全控制。

如需自动识别并统一使用 yarnnpm,建议在项目根目录加上 .yarnrc.yml.npmrc 配置,并在 README.md 写明用哪个工具安装依赖。