当前位置: 首页 > news >正文

使用npm仓库的优先级以及.npmrc配置文件的使用

使用npm仓库的优先级以及.npmrc配置文件的使用

  • 概念
  • 如何设置 registry(包管理仓库)
    • 1. 设置项目配置文件
    • 2. 设置用户配置文件
    • 3. 设置全局配置文件
    • 4. `.npmrc`文件可以配置的常见选项

概念

npm(Node Package Manager)是一个Node.js的包管理器
它允许用户从npm仓库中查找、安装、升级和删除Node.js包和工具。
npm极大地简化了Node.js项目的依赖管理,使得开发者可以轻松地共享和重用代码。

.npmrc是一个配置文件
npmrc是Node.js软件包管理器(npm)的配置文件。它的主要作用是允许用户自定义npm的行为,以更好地管理项目依赖和开发流程。
这个配置文件由一系列键值对组成,用于配置npm在执行命令时的行为和参数。
例如,用户可以定义镜像源,提高依赖包的下载速度;也可以管理依赖的存储路径,实现依赖的统一管理。简而言之,npmrc是npm的一个辅助工具,用于配置和优化npm的工作流程。

Node.js则是一个基于Chrome V8引擎的JavaScript运行环境
它由Ryan Dahl于2009年5月开发,发布后迅速成为服务端JavaScript开发的流行平台。
Node.js使用了一个事件驱动、非阻塞式I/O模型,这使得它能够处理大量的并发连接,非常适合构建网络应用。此外,Node.js还提供了一些替代的API,对一些特殊用例进行优化,使得V8在非浏览器环境下运行得更好。

在我们安装包的时候,npm 按照如下顺序读取这些配置文件(优先级低到高

  • 全局配置文件:这个配置文件存在于Node的全局配置目录中。
    在Windows系统中,它的路径通常是$PREFIX/etc/.npmrc;
    在Mac系统中,路径则是%APPDATA%/etc/.npmrc。
  • 用户配置文件:这个配置文件存在于用户主目录中。
    在Windows系统中,它的路径是%USERPROFILE%/.npmrc;
    在Mac系统中,路径则是$HOME/.npmrc。
  • 项目配置文件:这个配置文件存在于项目的根目录下。(优先级最高
    项目配置文件具有最高的优先级,它会覆盖用户配置文件和全局配置文件的设置。

如何设置 registry(包管理仓库)

1. 设置项目配置文件

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

内容如下:

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

位置如下
在这里插入图片描述

2. 设置用户配置文件

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

3. 设置全局配置文件

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

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

4. .npmrc文件可以配置的常见选项

  • registry:指定npm的包管理仓库地址。可以用于切换不同的包管理源,例如,从npm官方源切换到淘宝镜像源,以提高包的下载速度
 registry=https://registry.npmjs.org/
  • proxy:设置代理服务器,用于加速包的下载。这对于在受限网络环境下工作的开发者特别有用。
 proxy=http://proxy.example.com/
  • https-proxy:与proxy类似,但用于HTTPS请求的代理。
https-proxy=https://proxy.example.com/
  • prefix:定义全局安装包的目录。默认情况下,全局包将安装在/usr/local(Linux)或C:\Users\<username>\AppData\Roaming\npm(Windows)下。
  prefix=/path/to/global/packages
  • save-exact:设置依赖包的版本是否应该精确匹配,而不是使用语义版本控制(Semver)。
save-exact=true
  • strict-ssl:控制是否严格验证SSL证书,对于内部网络或不安全的环境可以将其禁用,但不建议在生产环境中使用。
 strict-ssl=false
  • ignore-scripts:禁用包安装过程中运行的脚本,有时可用于提高安全性。
 ignore-scripts=true
  • authToken:用于认证的令牌,允许无需用户名和密码即可访问私有npm仓库。
 _authToken=your-auth-token
  • userconfig:指定用户级别的配置文件路径,用于覆盖全局配置。
userconfig=/path/to/custom/user-config-file
  • cache:设置npm包的缓存目录,可以加快包的查找速度和减少下载次数。
cache=/path/to/npm/cache
  • production:指示npm只安装生产依赖包。在部署生产环境时,这可确保不会安装开发依赖包。
production=true
  • loglevel:设置npm的日志级别,以控制输出的详细程度。
 loglevel=warn

参考:
【1】深入理解 .npmrc 文件
https://blog.csdn.net/m0_73531461/article/details/136397088

相关文章:

使用npm仓库的优先级以及.npmrc配置文件的使用

使用npm仓库的优先级以及.npmrc配置文件的使用 概念如何设置 registry&#xff08;包管理仓库&#xff09;1. 设置项目配置文件2. 设置用户配置文件3. 设置全局配置文件4. .npmrc文件可以配置的常见选项 概念 npm&#xff08;Node Package Manager&#xff09;是一个Node.js的…...

Netty源码剖析——ChannelHandlerContext 篇(三十七)

ChannelHandlerContext 作用及设计 ChannelHandlerContext 继承了出站方法调用接口和入站方法调用接口 ChannelOutboundInvoker 和 ChannelInboundInvoker 部分源码 这两个invoker就是针对入站或出站方法来的&#xff0c;就是在入站或出站 handler 的外层再包装一层&#xff0c…...

5.92 BCC工具之bitesize.py解读

一,工具简介 bitesize工具按进程名称显示请求块大小的I/O分布。 它通过监视磁盘上的读取和写入操作,记录每个操作的大小。再将跟踪到的 I/O 操作按照大小分组,通常是以 2 的幂次方(如 4K、8K、16K 等)进行划分,并统计每个大小范围内的 I/O 操作数量。 二,代码示例 #…...

jupyter notebook导出含中文的pdf(LaTex安装和Pandoc、MiKTex安装)

用jupyter notebook导出pdf时&#xff0c;因为报错信息&#xff0c;需要用到Tex nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install…...

压力测试(QPS)及测试工具Locust

压力测试&#xff1a; 通常指的是确定接口或服务能够处理的最大请求量&#xff08;吞吐量&#xff09;和并发用户数&#xff0c;同时保持合理的响应时间和稳定性。 性能目标 最大吞吐量&#xff1a;系统每秒可以处理的请求数。最大并发用户数&#xff1a;系统可以同时支持的…...

canal: 连接kafka (docker)

一、确保mysql binlog开启并使用ROW作为日志格式 docker 启动mysql 5.7配置文件 my.cnf [mysqld] log-binmysql-bin # 开启 binlog binlog-formatROW # 选择 ROW 模式 server-id1一定要确保上述两个值一个为ROW&#xff0c;一个为ON 二、下载canal的run.sh https://github.c…...

45 对接海康视频九宫格的实现

前言 这里主要是 来看一下 海康视频 的一个九宫格播放的需求 然后 在实际使用的过程中产生了一些问题, 比如 增加一个视频, 应该只增量请求这一个视频的服务, 而一些实现下是全量请求了 整个视频列表的服务 另外 就是全屏播放, 如果是 自己写样式来实现 全屏播放, 可能需要 …...

二-容量管理之容量水位

容量水位概念 容量水位(Capacity Level)是指一个系统或服务所使用资源的程度、范围和可承受能力,通常以百分比表示。在容量管理中,容量水位是非常重要的指标,用于衡量系统或服务的健康状况、资源利用率以及未来容量需求。 容量水位通常是根据一些关键指标进行计算,例如…...

计算机网络——数据链路层(差错控制)

计算机网络——数据链路层&#xff08;差错控制&#xff09; 差错从何而来数据链路层的差错控制检错编码奇偶校验码循环冗余校验&#xff08;CRC&#xff09;FCS 纠错编码海明码海明距离纠错流程确定校验码的位数r确定校验码和数据位置 求出校验码的值检错并纠错 我们今年天来继…...

【搜索引擎1】Ubuntu通过deb方式安装ElasticSearch和Kibana、ik中文分词插件

1、官网下载文件 版本为官网最新版本&#xff0c;ElasticSearch与Kibana版本必须保持一致 ElasticSearch下载地址&#xff1a;Download Elasticsearch | Elastic Kibana下载地址&#xff1a;Past Releases of Elastic Stack Software | Elastic 下载选择DEB文件 ik插件下载…...

1.0 html(1)

html 一、基本介绍 1、定义&#xff1a;html是一种超文本标记语言&#xff0c;也是一种标识性语言&#xff08;不是编程语言&#xff09; 标记&#xff1a;记号&#xff08;绰号&#xff09; 超文本&#xff1a;就是页面内容可以包含图片、链接&#xff0c;音乐&#xff0c…...

基于SpringBoot和Leaflet的行政区划地图掩膜效果实战

目录 前言 一、掩膜小知识 1、GIS掩膜的实现原理 2、图层掩膜流程 二、使用插件 1、leaflet-mask介绍 2、核心代码解释 三、完整实例实现 1、后台逻辑实现 2、省级行政区划查询实现 3、行政区划定位及掩膜实现 4、成果展示 总结 前言 在之前的博客提过按空间矢量…...

【机器学习之---数学】马尔科夫链

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 马尔科夫 1. 概念 1.1 引言 马尔可夫链在许多领域都有应用&#xff0c;包括物理学、生物学、工程学、经济学和计算机科学等。在计算机科学中&#xff0…...

教程3_图像的轮廓

目录 目标 1. 特征矩 2、轮廓质心 3. 轮廓面积 4. 轮廓周长 5. 轮廓近似 6. 轮廓凸包 7. 边界矩形 7.1.直角矩形 7.2. 旋转矩形 8. 最小闭合圈 9. 拟合一个椭圆 10. 拟合直线 目标 在本文中&#xff0c;我们将学习 - 如何找到轮廓的不同特征&#xff0c;例如面积&…...

【Linux】-Linux下的编辑器Vim的模式命令大全及其自主配置方法

目录 1.简单了解vim 2.vim的模式 2.1命令模式 2.2插入模式 2.3底行模式 3.vim各模式下的命令集 3.1正常&#xff08;命令模式下&#xff09; 3.1.1光标定位命令 3.1.2 复制粘贴 3.1.3 删除 3.1.4 撤销 3.1.5大小写转换 3.1.6替换 「R」&#xff1a;替换光标所到之处的字符&…...

基于SpringBoot和Vue的车辆管理系统的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的车辆管理系统的设计与实现 &#xff01;&#xff01;&#xff01; 有需要的小伙伴可以通过文章末尾名片咨询我哦&#xff01;&#xff01;&#xff01; &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&#x1f…...

R折线图(自备)

目录 折线图基础 创建散点和折线图 复杂折现加图例 折线图柱状图 数据处理 进行差异检验 基础绘图折线 基础绘图箱线 进行合并 双轴柱状与折线图 数据 折线图基础 创建散点和折线图 rm(list ls()) opar <-par(no.readonlyTRUE)##自带orange数据集 par(mfrowc…...

web学习笔记(四十五)Node.js

目录 1. Node.js 1.1 什么是Node.js 1.2 为什么要学node.js 1.3 node.js的使用场景 1.4 Node.js 环境的安装 1.5 如何查看自己安装的node.js的版本 1.6 常用终端命令 2. fs 文件系统模块 2.1引入fs核心模块 2.2 读取指定文件的内容 2.3 向文件写入指定内容 2.4 创…...

基于Gabor滤波器的指纹图像识别,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…...

55、Qt/事件机制相关学习20240326

一、代码实现设置闹钟&#xff0c;到时间后语音提醒用户。示意图如下&#xff1a; 代码&#xff1a; #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), speecher(new QTextToSpeech(t…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...