这篇笔记主要记录npmrc, 它的作用及配置列表.
根据npm文档,npm 从命令行、环境变量和 npmrc 文件中获取其配置设置。 可以使用
npm config命令来更新和编辑用户级和全局的 npmrc 文件的内容。
- npmrc中的rc到底代表什么
- npmrc是干什么的 作用域范围
- npmrc有哪些配置
.npmrc中的rc到底代表什么
在 .npmrc 文件中,rc 是 "run command" 或 "run-time configuration" 的缩写。这种命名方式源自 Unix/Linux 的传统,通常用于表示配置文件。说的通,里面就是各种命令配置,
.npmrc 文件用于配置 npm(Node Package Manager)的行为,类似于其他工具中的 .bashrc、.zshrc 文件。
npmrc是干什么的 作用域范围
.npmrc是干什么的
.npmrc 文件主要是包含一系列的配置选项,例如注册表地址、代理设置、身份验证令牌、默认安装目录等。以自定义 npm 的操作方式。
比如下图中用到的npmrc文件,就是我实际用到的,因为公司内网访问不了互联网(npm包官方注册表地址也是互联网)
registry="公司内网注册表地址" # 所有的npm包将从指定的内部注册表地址获取,确保使用的依赖包符合公司的要求,并提高包的下载速度
prefix=C:\Users\mingongze\.npm_modules # 全局安装的 npm 包将会安装到 `C:\Users\mingongze.npm_modules` 目录下,而不是默认的全局安装目录。这样可以避免权限问题并使管理更方便。
cache=D:\nodejs\npm_cache # npm会将下载的包缓存到 `D:\nodejs\npm_cache` 目录中,减少重复下载,提高安装速度。
fetch-retries=3 # 当 npm 在从注册表下载包时遇到网络问题,会尝试重试最多 3 次,以提高成功率。
fetch-retry-mintimeout=100000 # 当第一次重试时,npm 会等待至少 100000 毫秒(100 秒)再尝试连接,以避免短时间内的重复失败。
fetch-retry-maxtimeout=600000 # 当达到最大重试时间时,npm 会等待最多 600000 毫秒(600 秒或 10 分钟)再尝试连接。
sass_binary_site="公司内网sass地址" # 在安装 `node-sass` 时,npm 会从公司内部的指定地址下载 `sass` 二进制文件,这样可以加快下载速度,并确保使用符合公司要求的版本。
全局安装的 npm 包位置如图
.npmrc作用域范围
作用范围主要是全局配置文件和项目级配置文件
- 全局配置文件:通常位于 ~/.npmrc(Linux/macOS)或 C:\Users\用户名.npmrc (Windows),适用于该用户的所有 npm 项目。 Windows路径也可以这么表述:%USERPROFILE%.npmrc
- 项目级配置文件:位于项目的根目录下的 .npmrc 文件中,和package.json在同一个位置,适用于该项目中的所有 npm 操作。 系统级配置文件:在 /etc/npmrc 中,适用于系统中的所有用户。
截图展示下全局配置文件位置 (内网电脑有水印 去除了敏感信息)
.npmrc 有哪些配置
其实就是npm有哪些配置,.npmrc只是配置的一种方式而已,详细的可以看下文档,
前面已经讲过注册表(registry)、全局安装目录(prefix)、缓存目录(cache)、下载包重试次数(fetch-retries)的配置和作用, 以后具体用到再回来更新补充~
补充1: 在pnpm的monorepo工作区中,一个子包怎么把其他的子包作为依赖, npmrc配置
link-workspace-packages=true