.npmrc 使用详解

配置.npmrc之后需要:

  1. 清理项目目录中的 node _modules 目录(package-lock.json,umi)。
  2. 清理 node cache: npm cache clear --force;{ 此步骤必须,主要是大家的电脑经过多年使用后,npm 配置比较混乱,为了避免或者减少配置造成不必要的干扰,建议执行此步骤,清理缓存信息}
  3. 在使用 npm cache clean --force 命令时报的错:npm WARN using --force Recommended protections disabled. , 可以使用 npm cache verify 命令清除缓存。
  4. 重新安装依赖并观察是否存在依赖安装失败的情况。npm i (package-lock.json),并查看源是否被替换过

.npmrc的作用

.npmrc,可以理解成npm running cnfiguration, 即npm运行时配置文件。我们知道,npm最大的作用就是帮助开发者安装需要的依赖包,但是要从哪里下载?下载哪一个版本的包,把包下载到电脑的哪个路径下?

这些都可以在.npmrc中进行配置。

在设置.npmrc之前,我们需要知道:在你的电脑上,不止存在一个.npmrc文件,而是有多个。在我们安装包的时候,npm按照如下顺序读取这些配置文件:

  1. 项目配置文件:你可以在项目的根目录下创建一个.npmrc文件,只用于管理这个项目的npm安装。
  2. 用户配置文件:在你使用一个账号登陆的电脑的时候,可以为当前用户创建一个.npmrc文件,之后用该用户登录电脑,就可以使用该配置文件。可以通过 npm config get userconfig 来获取该文件的位置。
  3. 全局配置文件: 一台电脑可能有多个用户,在这些用户之上,你可以设置一个公共的.npmrc文件,供所有用户使用。该文件的路径为: P R E F I X / e t c / n p m r c ,使用 n p m c o n f i g g e t p r e f i x 获取 PREFIX/etc/npmrc,使用 npm config get prefix 获取 PREFIX/etc/npmrc,使用npmconfiggetprefix获取PREFIX。如果你不曾配置过全局文件,该文件不存在。
  4. npm内嵌配置文件:最后还有npm内置配置文件,基本上用不到,不用过度关注。

如何设置.npmrc

1. 设置项目配置文件

在项目的根目录下新建 .npmrc 文件,在里面以 key=value 的格式进行配置。比如要把npm的源配置为淘宝源,可以参考一下代码:

javascript 复制代码
registry=https://registry.npm.taobao.org

如果你想删除一些配置,可以直接把对应的代码行给删除。

npm i 之后可以检查package-lock.json文件的源切换了没有,如下:

2. 设置用户配置文件

你可以直接通过 npm config get userconfig 命令找到该文件的路径,然后直接仿照上述方法该文件,也可以通过 npm config set 命令继续设置,命令如下:

javascript 复制代码
config set registry https://registry.npm.taobao.org

最终,命令行会帮助我们修改对应的配置文件。只不过使用命令行更加快捷。

如果想要删除一些配置,可以直接编辑.npmrc文件,也可以使用命令进行删除,比如:

javascript 复制代码
npm config delete registry

3. 设置全局配置文件

方法和设置用户配置文件如出一辙,只不过在使用命令行时需要加上 -g 参数。

javascript 复制代码
npm config set registry https://registry.npm.taobao.org -g

除此之外,这里列出一些常用的npm设置命令,有兴趣的话,可以了解一下,挺好玩的:

javascript 复制代码
npm config set <key> <value> [-g|--global]  //给配置参数key设置值为value;
npm config get <key>          //获取配置参数key的值;
npm config delete <key>       //删除置参数key及其值;
npm config list [-l]      //显示npm的所有配置参数的信息;
npm config edit     //编辑配置文件
npm get <key>     //获取配置参数key的值;
npm set <key> <value> [-g|--global]    //给配置参数key设置值为value;

例如: node-sass 安装失败的解决办法
关于 Node.js 项目中的 .npmrc 文件

.npmrc文件 优先级最高

相关推荐
JustHappy6 小时前
「Versakit攻略」🔥Pnpm+Monorepo+Changesets搭建通用组件库项目和发包流程
前端·javascript·vue.js
用户66197734585756 小时前
Vue3笔记
前端·vue.js
2401_837088508 小时前
ref 简单讲解
前端·javascript·vue.js
前端小巷子9 小时前
Vue3的渲染秘密:从同步批处理到异步微任务
前端·vue.js·面试
每天学习一丢丢10 小时前
SpringBoot + Vue实现批量导入导出功能的标准方案
vue.js·spring boot·后端
小码编匠10 小时前
物联网数据大屏开发效率翻倍:Vue + DataV + ECharts 的标准化模板库
前端·vue.js·echarts
GHOME10 小时前
Vue2知识点详细回顾(以及自己的一些思考和解答)-2
前端·vue.js·面试
复苏季风11 小时前
2025 年了,Vite+Vue3 微前端该用啥方案?3 大主流方案实战对比
前端·vue.js
明月与玄武15 小时前
Vue 3 高性能实践 全面提速剖析!
前端·javascript·vue.js
童先生19 小时前
Nginx + Vue/React 前端 + API:防止路径混淆漏洞与跨域问题实战分享
前端·vue.js·nginx