mac 上为 node.js 和 npm 配置代理需重点设置 npm 的 proxy 和 https-proxy,优先使用用户级 ~/.npmrc 文件,确保 registry 可达并验证连接成功。
mac 上为 node.js 和 npm 配置代理,核心是让 npm(不是 node.js 本身)能通过代理访问 registry 和下载包。node.js 运行时不需要代理,但 npm 安装、更新、发布等网络操作依赖代理设置。关键在于正确配置 npm 的 proxy 和 https-proxy,并确保配置持久生效。
确认当前 npm 配置位置
npm 读取配置有多个层级,用户级配置($HOME/.npmrc)最常用也最安全,推荐优先使用:
- 查看当前生效的用户配置文件路径:
npm config get userconfig(通常为~/.npmrc) - 查看所有配置(含默认值):
npm config list -l - 检查当前 proxy 设置:
npm config get proxy和npm config get https-proxy
设置 HTTP 和 HTTPS 代理
大多数企业或校园网络需同时设置 proxy 和 https-proxy,否则会出现超时或证书错误:
使用 JSON Schema 验证 JSON 数据,从示例 JSON 生成 schema,并将其转换为 TypeScript 接口、Python 数据类或 Markdown 文档。
- 基础命令(替换
http://127.0.0.1:7890为你实际的代理地址和端口):npm config set proxy http://127.0.0.1:7890npm config set https-proxy http://127.0.0.1:7890 - 若代理需要账号密码,格式为:
npm config set proxy http://username:password@127.0.0.1:7890 - 注意:HTTPS 代理必须用
http://协议(不是https://),这是 npm 的强制要求
处理不支持 HTTPS 的代理或国内加速场景
某些代理不转发 HTTPS 流量,或你希望改用国内镜像源提升速度:
- 切换 registry 到国内源(如淘宝镜像):
npm config set registry https://registry.npmmirror.com - 如果代理完全不支持 HTTPS,可临时降级 registry 为 HTTP(仅限可信内网):
npm config set registry http://registry.npmjs.org
⚠️ 此操作存在安全风险,不建议在公网环境使用 - 验证 registry 是否生效:
npm config get registry
验证代理是否生效
配置完成后,用真实操作测试是否走通:
- 尝试拉取一个轻量包(不安装,只检查连接):
npm view lodash version—— 应返回版本号,而非 ETIMEDOUT 或 ECONNREFUSED - 查看详细请求日志(调试用):
npm install --verbose express@4.18.0 - 若失败,检查终端是否设置了冲突的环境变量:
env | grep -i proxy—— 如存在HTTP_PROXY或HTTPS_PROXY,npm 会优先读取它们,可能与 .npmrc 冲突










