.npmrc常用配置

709 阅读2分钟

.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