.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的源配置为淘宝源,可以参考一下代码:

registry=https://registry.npm.taobao.org

如果你想删除一些配置,可以直接把对应的代码行给删除。
npm i 之后可以检查package-lock.json文件的源切换了没有,如下:
源切换截图

2. 设置用户配置文件

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

config set registry https://registry.npm.taobao.org

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

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

npm config delete registry

3. 设置全局配置文件

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

npm config set registry https://registry.npm.taobao.org -g

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

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文件 优先级最高

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/109471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

监听子组件props变量的变化

如果你需要监听 props 值的变化,可以使用一个计算属性来实现。计算属性会自动监听 props 对象的变化,并在依赖的 props 发生变化时触发相应逻辑。 props: { count: { type: Number, default: 0 } }, computed: { countWatcher: function() { // 在计算属性中可…

LLM 系列 | 21 : Code Llama实战(上篇) : 模型简介与评测

引言 小伙伴们好&#xff0c;我是《小窗幽记机器学习》的小编&#xff1a;卖热干面的小女孩。 个人CSDN首页&#xff1a;JasonLiu1919_面向对象的程序设计,深度学习,C-CSDN博客 今天开始以2篇小作文介绍代码大语言模型Code Llama。上篇主要介绍Code Llama的基本情况并基于Hug…

怎么多号发圈和批量加好友?

你知道怎么多号发圈和批量加好友吗&#xff1f; 我们都知道&#xff0c;微信号多&#xff0c;管理起来是一件相当麻烦的事。 那发圈和加好友&#xff0c;多号的话&#xff0c;那是相当大的工作量&#xff0c;那有没有什么办法可以多号同时进行发圈和加人吗&#xff1f; 当然有的…

Linux高性能服务器编程 学习笔记 第十六章 服务器调制、调试和测试

Linux平台的一个优秀特性是内核微调&#xff0c;即我们可以通过修改文件的方式来调整内核参数。 服务器开发过程中&#xff0c;可能会碰到意想不到的错误&#xff0c;一种调试方法是用tcpdump抓包&#xff0c;但这种方法主要用于分析程序的输入和输出&#xff0c;对于服务器的…

cartographer_ros数据加载与处理

node_main.cc 坐标系的读取通过tf_bufferautonode类是cartographer_ros接收传感器数据&#xff0c;并传输到cartographer里&#xff0c;同时还会发布map&#xff0c;轨迹等node_options数据传给两个地方&#xff0c;一个是map_builder进行slam操作&#xff0c;一个是node做数据…

7款最佳的图片编辑App

无论你是设计师需要调整界面图片大小&#xff0c;还是摄影师需要剪图片&#xff0c;追求完美的比例&#xff0c;还是日常照片&#xff0c;需要P图片&#xff0c;或多或少会有剪图片的需求&#xff0c;如何选择一个简单和轻的剪图软件应用程序&#xff0c;不是一件容易的事情。本…

孩子的护眼灯哪个品牌最好?五款护眼台灯真实推荐

可能很多人还不知道&#xff0c;中国青少年近视率已位居世界第一&#xff0c;高中生和大学生的近视率均已超过70%且还在上升&#xff0c;就连小学生的近视率也接近40%&#xff01;除了手机平板等电子产品使用的影响之外&#xff0c;繁重的学习任务更是最主要的因素。所以除了正…

[计算机提升] 用户和用户组

1.1 用户和用户组 1.1.1 用户 用户账户是计算机操作系统中用于标识和管理用户身份的概念。 每个用户都拥有一个唯一的用户账户&#xff0c;该账户包含用户的登录名、密码和其他与用户身份相关的信息。 用户账户通常用于验证用户身份&#xff0c;并授权对系统资源的访问权限。…

第二证券:什么股票属于创业板?

股票商场是一种杂乱的国际&#xff0c;不同类型的股票对应不同的生意商场。其间&#xff0c;创业板股票是一个备受关注的论题。那么&#xff0c;什么样的股票归于创业板呢&#xff1f;本文将从商场定义、股票分类以及出资关键点三个角度分析这个问题&#xff0c;帮忙读者全面了…

虚实融合 智兴百业 | 赵捷副市长莅临拓世科技集团筹备展台指导,本月19号!拓世科技集团与您相约世界VR产业大会

新时代科技革命中&#xff0c;虚拟现实技术、5G和“元宇宙”概念崛起&#xff0c;助力全球范围内的数字经济和产业转型。我国也正迈向高质量发展攻坚阶段&#xff0c;在中部腹地的江西&#xff0c;政府结合全球技术趋势和自身发展需求&#xff0c;选择虚拟现实为新的经济增长点…

RESTful 接口设计规范-个人总结

RESTful 接口设计规范-个人总结 以下接口规范为个人收集并总结&#xff0c;仅供参考。欢迎提供建议 使用名词&#xff0c;使用HTTP 请求方法 接口中不要出现动词&#xff0c;以及动作。 使用HTTP 请求方法作为动作的表达。常见的CRUD&#xff0c;在HTTP 中都有对应的方法&a…

谷歌浏览器跨域及--disable-web-security无效解决办法

谷歌浏览器跨域设置 &#xff08;1&#xff09;创建一个目录&#xff0c;例如我在C盘创建MyChromeDevUserData文件夹 &#xff08;2&#xff09; 在桌面选择谷歌浏览器右键 -> 属性 -> 快捷方式 -> 目标&#xff0c;添加--disable-web-security --user-data-dirC:\M…

软件测试基础知识 + 面试理论(超详细)

一、什么是软件&#xff1f; 软件是计算机系统中的程序和相关文件或文档的总称。 二、什么是软件测试&#xff1f; 说法一&#xff1a;使用人工或自动的手段来运行或测量软件系统的过程&#xff0c;以检验软件系统是否满足规定的要求&#xff0c;并找出与预期结果之间的差异…

如何设计 API?

在前后端分离的设计中&#xff0c;不管使用什么语言&#xff0c;后端都需要提供 WebAPI 给前端使用。如果是一个平台级的产品&#xff0c;还有可能需要将平台的公共 API 提供给第三方系统使用&#xff0c;这些都要考虑到 API 的设计。 本文聊下 API 设计可能遇到的问题以及处理…

uni-app实现拍照功能

直接些这样的组件代码 <template><view><button click"takePhoto">拍照</button><image :src"photoUrl" v-if"photoUrl" mode"aspectFit"></image></view> </template><script&g…

DataCon【签到题】挖矿流量检测

【签到题】挖矿流量检测 文章目录 答案【多选】1. 个人电脑中了挖矿病毒通常有以下哪些表现&#xff1f;【单选】2. 在典型挖矿场景中&#xff0c;矿工和矿池之间目前最常用的通信协议是哪一个&#xff1f;【单选】3. 目前的虚拟货币挖矿场景中&#xff0c;最常采用的是哪种共识…

硬盘的简单介绍

硬盘的简单介绍 硬盘是服务器托管用户主机主要的数据存储介质。目前硬盘的种类有三类&#xff0c;不同的选择方案也会有不同的优劣对比。下面讲讲他们之间有什么不同吧 固态硬盘&#xff1a;  用固态电子存储芯片阵列而制成的硬盘&#xff0c;由控制单元和存储单元组成。固态…

开发工具分享 - Mybatis SQL日志格式化H5

目录 一、 序言二、代码示例三、部署至Nginx 一、 序言 平时通过IDEA开发&#xff0c;可以直接装相关MybatisLogFormat的插件直接对控制台里的Mybatis SQL日志进行格式化。一旦离开本地环境&#xff0c;到了测试或者线上&#xff0c;就得自己手动拼参数了。 简单的SQL还好&am…

【学习记录】动态数组(vector)的基本操作,包括插入、删除、扩容、输出、释放内存等。用C语言编写

#include <iostream> #include<cstdlib> #include<ctime> using namespace std;// 我的代码所犯的错误记录&#xff1a; // 1. \n的换行打成了/n导致程序迟迟不能换行 // 2. rand()%4&#xff0c;是随机0~3的随机数&#xff0c;并不是0~4 // 3. 在main主函数…

数据模型设计必读方法论!很实用

数据架构的重要构件之一是数据模型&#xff0c;当然从数据架构的视角来说的数据模型是指企业级数据模型。本篇文章更多是讨论如何设计和管理数据模型&#xff0c;此处的数据模型是泛指在组织中通过数据建模的过程&#xff0c;来发现、分析和确定数据需求范围&#xff0c;并用于…