.npmrc
和 .yarnrc
是两个配置文件,分别用于 Node.js 中的 npm(Node Package Manager)和 Yarn 包管理工具。它们存储了与包管理相关的配置选项,允许用户自定义和控制包的安装、版本、缓存等行为。下面是它们的详细说明:
1. .npmrc
文件
.npmrc
是 npm 的配置文件,存储了关于 npm 行为的各种自定义设置。你可以在该文件中设置全局配置、项目级配置,甚至是特定于用户的配置。
常见的 .npmrc
配置项:
registry:指定npm包的注册表地址,默认为 https://registry.npmjs.org/
。你可以将其修改为其他镜像源(如淘宝镜像/华为镜像)来加速包的下载。
registry=https://registry.npm.taobao.org
https://mirrors.huaweicloud.com/repository/npm/
prefix:指定全局安装包的位置,通常用来更改全局模块安装的目录。
prefix=/path/to/global/modules
cache:指定 npm 缓存的目录。
cache=/path/to/npm/cache
authToken:用于设置私有 npm 仓库的认证令牌
//registry.npmjs.org/:_authToken=your-token
save-exact:默认情况下,npm 安装依赖时会添加版本范围(如 ^1.2.3
)。如果设置 save-exact=true
,npm 将始终安装指定版本。
save-exact=true
.npmrc
文件可以存在于多级别:
- 全局配置:通常位于
~/.npmrc
或系统目录中。 - 项目级配置:位于项目的根目录下,可以为该项目单独设置配置。
- 用户级配置:存储在当前用户的主目录下,如
~/.npmrc
。
2. .yarnrc
文件
.yarnrc
是 Yarn 的配置文件,功能与 .npmrc
类似,但它是为 Yarn 包管理器提供配置选项。
常见的 .yarnrc
配置项:
- registry:指定 Yarn 包的注册表地址,与 npm 的配置类似,默认为
https://registry.yarnpkg.com
。你可以更改为其他源(如淘宝镜像)来加速下载。
registry "https://registry.npm.taobao.org"
cache-folder:指定缓存目录的位置。
cache-folder "/path/to/yarn/cache"
global-folder:指定全局包安装的目录。
global-folder "/path/to/global/packages"
save-exact:与 npm 类似,控制是否安装精确版本的依赖。
save-exact true
network-timeout:设置网络请求的超时(单位是毫秒)。
network-timeout 60000
.yarnrc
也有类似 .npmrc
的作用,它可以存在多个级别:
- 全局配置:
~/.yarnrc
- 项目级配置:项目根目录下的
.yarnrc
文件。
区别和使用
- 用途:两者的主要作用是为各自的包管理器提供配置。
.npmrc
用于 npm,.yarnrc
用于 Yarn。 - 格式:它们的配置格式基本相似,都是简单的键值对格式。
- 功能:它们都允许用户定制注册表地址、缓存目录、网络超时、版本策略等。
通常来说,如果你在一个项目中同时使用 npm 和 Yarn,这两个文件都会出现在项目根目录下。不过,不建议同时使用两个包管理工具,以避免配置冲突和不必要的问题。