.npmrc 使用详解
配置.npmrc之后需要:
- 清理项目目录中的 node _modules 目录(package-lock.json,umi)。
- 清理 node cache: npm cache clear --force;{ 此步骤必须,主要是大家的电脑经过多年使用后,npm 配置比较混乱,为了避免或者减少配置造成不必要的干扰,建议执行此步骤,清理缓存信息}
- 在使用 npm cache clean --force 命令时报的错:npm WARN using --force Recommended protections disabled. , 可以使用 npm cache verify 命令清除缓存。
- 重新安装依赖并观察是否存在依赖安装失败的情况。npm i (package-lock.json),并查看源是否被替换过
.npmrc的作用
.npmrc,可以理解成npm running cnfiguration, 即npm运行时配置文件。我们知道,npm最大的作用就是帮助开发者安装需要的依赖包,但是要从哪里下载?下载哪一个版本的包,把包下载到电脑的哪个路径下?
这些都可以在.npmrc中进行配置。
在设置.npmrc之前,我们需要知道:在你的电脑上,不止存在一个.npmrc文件,而是有多个。在我们安装包的时候,npm按照如下顺序读取这些配置文件:
- 项目配置文件:你可以在项目的根目录下创建一个.npmrc文件,只用于管理这个项目的npm安装。
- 用户配置文件:在你使用一个账号登陆的电脑的时候,可以为当前用户创建一个.npmrc文件,之后用该用户登录电脑,就可以使用该配置文件。可以通过 npm config get userconfig 来获取该文件的位置。
- 全局配置文件: 一台电脑可能有多个用户,在这些用户之上,你可以设置一个公共的.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。如果你不曾配置过全局文件,该文件不存在。
- 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文件 优先级最高
相关文章:
.npmrc 使用详解
配置.npmrc之后需要: 清理项目目录中的 node _modules 目录(package-lock.json,umi)。清理 node cache: npm cache clear --force;{ 此步骤必须,主要是大家的电脑经过多年使用后,npm 配置比较混乱,为了避免或者减少配…...
3D视觉硬件技术
目前市面上主流的3D光学视觉方案有三种: 双目立体视觉法(Stereo Vision,在下文称双目法),结构光法(Structured Light,在下文称结构光)以及飞行时间法(Time of Flight, ToF在下文称T…...
【使用OpenCV进行目标分割与计数的代码实例详解】
文章目录 概要实例一:硬币分割计数实例二:玉米粒分割计数 概要 在当今数字图像处理领域,图像分割技术是一项至关重要的任务。图像分割旨在将图像中的不同目标或区域准确地分开,为计算机视觉、图像识别和机器学习等领域提供了坚实…...
npm ERR! exited with error code: 128
1.遇到的问题 报错信息:npm ERR! E:\tools\Gitt\Git\cmd\git.EXE ls-remote -h -t https://github.com/nhn/raphael.git npm ERR! npm ERR! fatal: unable to access https://github.com/nhn/raphael.git/: OpenSSL SSL_read: Connection was reset, errno 10054 …...
Spark---数据输出
1. 输出为Python对象 collect算子:将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象 reduce算子:对RDD数据集按照传入的逻辑进行聚合 take算子:取RDD的前N个元素,组合成list返回给你 count…...
虹科干货 | Redis Enterprise 自动分层技术:大数据集高性能解决方案
文章来源:虹科云科技 阅读原文:https://mp.weixin.qq.com/s/5ik-WLHwEmPn42f1FissQw 越来越多的应用程序依赖于庞大的数据集合,而这些应用程序必须快速响应。借助自动分层,Redis Enterprise 7.2 帮助开发人员轻松创建超快的应用程…...
信息系统项目管理师第四版学习笔记——组织通用治理
组织战略 组织战略是组织高质量发展的总体谋略,是组织相关干系方就其发展达成一致认识的重要基础。组织战略是指组织针对其发展进行的全局性、长远性、纲领性目标的策划和选择。 战略目标是组织在一定的战略期内总体发展的总水平和总任务。它决定了组织在该战略期…...
安装zip扩展(PHP)
记录一次 安装zip扩展的最优方案 (备注 网上以及Ai提供的很乱不能很快解决) 首先搜索zip包 yum search zip选择自己合适的php版本 比如我的php是7.4.33的 我就用php74-php-pecl-zip 如果没有的话 先添加软件源 sudo yum install epel-release sudo yu…...
深度学习YOLOv4环境配置
软件安装 1、什么是CUDA CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 CUDA下载地址为CUDA Toolkit Archive | NVIDIA Developer 版…...
从0到1:云计算工程师入门指南
华为职业认证覆盖ICT全领域,致力于提供领先的人才培养体系和认证标准培养数字化时代的新型ICT人才,构建良性的ICT人才生态。 华为推荐职业认证进阶路线 根据ICT从业者的学习和进阶需求华为职业认证分为工程师级别、高级工程师级别和专家级别三个认证等…...
【微信小程序】6天精准入门(第3天:小程序flex布局、轮播图组件及mock运用以及综合案例)附源码
一、flex布局 布局的传统解决方案,基于[盒状模型],依赖display属性 position属性 float属性 1、什么是flex布局? Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以…...
Hadoop3教程(二十五):Yarn的多队列调度器使用案例
文章目录 (136)生产环境多队列创建&好处(137)容量调度器多队列提交案例如何创建多个队列如何向指定队列提交任务 (138)容量调度器任务优先级(139)公平调度器案例参考文献 &#…...
【SA8295P 源码分析 (四)】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread_handler 数据发送线程 源码分析
【SA8295P 源码分析】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread_handler 数据发送线程 源码分析 系列文章汇总见:《【SA8295P 源码分析 (四)】网络模块 文章链接汇总 - 持续更新中》 本文链接:《【SA8295P 源码分析 (四)】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread…...
思维模型 上瘾模型(hook model)
本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。你到底是怎么上瘾(游戏/抖音)的?我们该如何“积极的上瘾”?让我们来一切揭晓这背后的秘密。 1 上瘾模型的应用 1.1上瘾模型的积极应用 1 学…...
中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例
中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例 中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例。 软件功能: 1、系统设置:参数设定,账号及权限设置,系统初始化&a…...
【27】c++设计模式——>迭代器模式(1)
迭代器实现通常包含两个主要组件:迭代器和聚合对象,聚合对象一般是vector,list,set,map等,迭代器负责在聚合对象上进行遍历,并提供了一种统一的访问元素的方法。聚合对象用来存储,并…...
table的展开折叠按钮操作
按钮 <el-buttontype"info"plainicon"el-icon-sort"size"mini"click"toggleExpandAll">展开/折叠</el-button>table: default-expand-all“isExpandAll” <el-tablev-if"refreshTable"v-loading"loadi…...
计算机毕业设计 基于SpringBoot智慧养老中心管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
Android-Framework 不允许应用商场下载的应用安装,adb 、pm 可以正常安装
一、环境 高通865 Android10 二、情景 从framework层禁止应用商场下载的应用安装,adb 、pm 可以正常安装 三、代码实现 frameworks/base/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java -35,6 35,7 import android.os.Build;…...
面试 4
1、作用域 w3scholl中定义:作用域指的是您有权访问的变量集合。 作用域是指在程序中定义变量的区域,该位置决定了变量的生命周期。通俗理解,作用域就是变量与函数的可访问范围,即作用域控制着变量和函数的可见性和生命周期。 在…...
从动态规划到DTW:一个Python可视化教程,带你亲手画出时间规整路径图
从动态规划到DTW:一个Python可视化教程,带你亲手画出时间规整路径图 在信号处理和机器学习领域,时间序列的相似性比较是一个基础但极具挑战性的问题。想象一下,当你需要比较两段语音、心电图或股票走势时,简单的逐点对…...
别再死记硬背了!用Python模拟OPT、FIFO、LRU算法,帮你彻底搞懂缺页率计算
用Python实战模拟三大页面置换算法:从理论到可视化理解 当你在深夜啃着操作系统教材,盯着那些晦涩的页面置换算法公式时,是否曾幻想过能"看见"这些算法是如何工作的?本文将通过Python代码,带你亲手构建OPT、…...
Avaota F1开发板:RISC-V架构的迷你Linux摄像头平台
1. Avaota F1开发板概述Avaota F1是一款基于全志V821 RISC-V SoC的超小型开源硬件Linux开发板,专为摄像头应用场景设计。这块仅有3522mm的板子集成了64MB DDR2内存、2.4GHz WiFi模块和MIPI CSI摄像头接口,堪称当前市面上最迷你的Linux摄像头开发平台之一…...
别再只盯着Wi-Fi了!深入聊聊Matter协议里的Thread边界路由器和它的真实作用
别再只盯着Wi-Fi了!深入聊聊Matter协议里的Thread边界路由器和它的真实作用 当智能家居设备数量突破两位数时,许多开发者会发现一个残酷现实:Wi-Fi网络在连接数十个低功耗设备时,会出现响应延迟、频繁掉线甚至路由器崩溃的情况。这…...
从官方Demo工程到实际项目:手把手教你如何安全地‘魔改’FreeRTOS配置(避坑configUSE_TICK_HOOK)
从官方Demo工程到实际项目:手把手教你如何安全地‘魔改’FreeRTOS配置(避坑configUSE_TICK_HOOK) 当你第一次拿到FreeRTOS官方Demo工程时,那种感觉就像获得了一个功能齐全的"瑞士军刀"——它展示了各种RTOS特性的使用方…...
保姆级教程:用ADB给海信电视LED55N3000U做‘瘦身手术’,安全卸载预装软件
海信电视LED55N3000U系统优化实战:ADB安全卸载预装应用指南 当智能电视用久了,系统卡顿、存储空间不足的问题总会不期而至。特别是像海信LED55N3000U这样的机型,VIDAA系统预装的各种应用不仅占用宝贵存储,还可能后台运行消耗资源。…...
别再凭感觉调CAN采样点了!手把手教你用VH6501精准测量(附500Kbps实测波形)
精准测量CAN采样点的工程实践指南 在汽车电子开发领域,CAN总线通信的可靠性直接影响着整车系统的稳定性。许多工程师习惯凭借经验设置采样点参数,却常常忽视精确测量的重要性。本文将分享一套基于VH6501干扰仪的标准化测量流程,帮助您摆脱经验…...
别再只会用INNER JOIN了!Hive SQL里CROSS JOIN的这两个实战场景,帮你搞定复杂统计和ID续接
Hive SQL高阶实战:CROSS JOIN在复杂统计与ID续接中的妙用 笛卡尔积在SQL中常被视为性能杀手,但在特定场景下却能化身为解决问题的利器。今天我们就来探讨Hive中CROSS JOIN的两个高阶应用场景,这些技巧来自真实的数据仓库项目经验,…...
Windows BAT脚本提权实战:从‘拒绝访问’到完美运行,我的踩坑记录与两种VBS方案详解
Windows BAT脚本提权实战:从权限不足到完美执行的深度解析 1. 当脚本遇到"拒绝访问":一个真实的权限困境 上周三凌晨2点,我正试图通过批处理脚本自动化部署一套本地测试环境。当脚本尝试修改C:\Windows\System32\drivers\etc\hosts…...
简答题总结
一、课程学习总结在这几次Python游戏开发的课程中,我主要掌握了基于 pygame 库的2D游戏开发基础流程与核心设计思想,主要收获如下:1. 游戏开发基础流程- 游戏主循环(Game Loop):理解了游戏“事件处理→更新…...
