.npmrc 是 npm 的配置文件,用于控制 npm 行为,比如包源、缓存路径、认证、脚本执行等。你可以在全局、项目目录或用户目录中使用它。以下是最常用和全面的配置项:
📦 包管理相关
registry=https://registry.npmjs.org/
指定默认的 npm 包源地址。save=true
默认在安装依赖时添加到package.json。save-exact=true
安装时锁定精确版本(不使用^)。save-prefix="^"
安装依赖时使用的前缀(可设为~、空等)。package-lock=true
启用或禁用package-lock.json。
🔐 认证和私有仓库
//registry.npmjs.org/:_authToken=xxxxx
用于认证私有 npm 包。always-auth=true
每次请求都发送认证信息。email=you@example.com
账号邮箱,用于登录认证。
📂 路径与缓存
prefix=/usr/local
设置全局模块安装路径。cache=~/.npm
指定缓存路径。tmp=/tmp/npm-xxxx
设置临时文件路径。
📜 脚本与安全
ignore-scripts=true
安装依赖时禁用 postinstall 等脚本。script-shell=/bin/bash
指定运行 npm 脚本的 shell。strict-ssl=true
是否强制使用 HTTPS。
📦 发布相关
access=public
发布包时默认公开(或设为restricted)。tag=latest
发布包时的默认标签。dry-run=false
模拟 npm 操作,不实际执行。
🌍 网络与代理
proxy=http://your-proxy:port
设置 HTTP 代理。https-proxy=https://your-proxy:port
设置 HTTPS 代理。noproxy=localhost
不使用代理的地址列表。
🌱 版本与兼容性
engine-strict=true
强制使用 package.json 中的engines指定的 Node/npm 版本。node-version=18.17.1
指定 node 版本(仅供工具读取)。
📋 日志与调试
loglevel=warn
设置日志级别(如 silent、error、warn、http、info、verbose、silly)。progress=false
关闭安装进度条。
常用配置示例
# 使用官方源或镜像源(可替换为淘宝或私服地址)
registry=https://registry.npmjs.org/
# 默认保存依赖并使用精确版本
save=true
save-exact=true
save-prefix=""
# 启用 package-lock.json
package-lock=true
# 认证信息(访问私有仓库时使用)
# //registry.npmjs.org/:_authToken=YOUR_TOKEN_HERE
always-auth=true
# 禁用自动执行脚本(增加安全性,可按需开启)
ignore-scripts=true
# 设置缓存目录和全局模块路径(可按需更改)
cache=~/.npm
prefix=~/.npm-global
# 强制 HTTPS 和严格证书校验
strict-ssl=true
# 发布相关
access=public
tag=latest
# 脚本执行 shell(适配不同系统)
script-shell=/bin/bash
# 日志级别设置为 warning,避免噪声
loglevel=warn
# 安装时不显示进度条
progress=false
# 代理设置(如有需要)
# proxy=http://127.0.0.1:8080
# https-proxy=http://127.0.0.1:8080
# noproxy=localhost,127.0.0.1