nrm的保姆级使用教程

📢 鸿蒙专栏:想学鸿蒙的,冲

📢 C语言专栏:想学C语言的,冲

📢 VUE专栏:想学VUE的,冲这里

📢 CSS专栏:想学CSS的,冲这里

📢 Krpano专栏:想学VUE的,冲这里

🔔 上述专栏,都在不定期持续更新中!!!!!!!!!!!!!

目录

✨ 前言

✨ 什么是nrm

✨ 安装nrm

✨ 使用nrm

🔔 查看可用的源

🔔 增加自定义源

🔔 删除自定义源

🔔 测试源的响应时间

✨ 进阶应用

nrm的registry配置

永久使用源

nrm的权限控制

与yarn结合使用

使用nrm的安全性

✨ 结语


✨ 前言

        作为前端开发,你一定使用过 npm 来安装第三方依赖包,但由于 npm 默认的下载仓储地址是 https://registry.npmjs.org/,属于外国的网站,所以我们下载的时候可能会非常的慢。所以淘宝也做了一个 npm 的镜像网站(看这里)。

比如我们切换成淘宝镜像源,我们可以通过以下命令完成切换:

$ npm config set registry https://registry.npmmirror.com/# 或者直接在 npm 配置文件修改
$ npm config edit

        虽然实现了镜像源的切换,但是这个貌似有点复杂,我们还要记住这个镜像地址 

        SO,nrm 它来了

✨ 什么是nrm

nrm(npm registry manager)是一个NPM源管理器,它允许你快速地在如下NPM源间切换:

  • npm
  • cnpm
  • taobao
  • nj(nodejitsu)
  • rednpm
  • skimdb(skimdb)
  • custom

✨ 安装nrm

使用npm全局安装nrm:

npm install -g nrm

✨ 使用nrm

🔔 查看可用的源

nrm ls

这将列出可用的NPM源及当前所使用的源。其中 * 号表示当前使用的源。

 

 切换源

nrm use 源名

 例如:

nrm use taobao

这将切换到taobao源。

🔔 增加自定义源

nrm add 源名 源地址

 例如:

nrm add company http://registry.company.com

这将增加一个公司内部的私有源company。

🔔 删除自定义源

nrm del 源名

这将删除之前添加的自定义源。

🔔 测试源的响应时间

nrm test 源名

这将测试该源的响应时间。 

✨ 进阶应用

🔔 nrm的registry配置

nrm切换源的本质是修改了npm的registry配置。我们可以通过以下命令查看npm的registry地址:

npm config get registry

默认是官方的https://registry.npmjs.org/。当使用nrm切换到其他源后,这个地址会被修改。

nrm的registry信息存储在用户根目录下的.nrmrc文件中。我们可以直接修改这个文件来添加/修改自定义源。

🔔 永久使用源

nrm切换的源在关闭终端后会还原。如果要永久使用某个源,可以在~/.npmrc文件中添加:

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

这样每次使用npm安装都会默认通过这个源安装。

🔔 nrm的权限控制

nrm从v1.0开始增加了通过token进行源访问控制的功能。

对于私有源,可以通过--auth选项设置一个访问token:

nrm add company http://registry.company.com --auth token

这样其他用户必须通过token才能访问这个源。

🔔 与yarn结合使用

yarn也有多个源可以切换。我们可以统一配置yarn的源:

yarn config set registry http://registry.company.com

然后nrm和yarn就可以共用这个私有源了。

🔔 使用nrm的安全性

使用公共源存在一定安全风险。建议企业构建私有源,同时通过源访问控制,进行安全管理。

大家在使用各种NPM源时,也需要注意校验安装包的完整性,保障代码安全。

 

✨ 结语

        nrm是一个非常便捷的NPM源管理工具,让我们可以一键切换不同的NPM源,特别是在国内可以使用taobao等国内源来提高安装速度。如果需要构建私有NPM源,nrm也提供了添加自定义源的方式。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

Dockerfile - 基于 SpringBoot 项目自定义镜像(项目上线全过程)

目录 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 1.2、打包项目(jar) 1.3、编写 Dockerfile 文件,构建镜像 1.4、运行镜像并测试 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 a)简…

openwrt的overlay扩容,再也不用担心磁盘不足了!

overlay扩容 1.准备好磁盘,先进行分区,也可以部分去,然后格式(可以使用windows的diskgenius格式化,需要知注意的是格式化为ext4格式)也可以通过ssh登录后台,命令行使用mkfs.ext4 /dev/sda1的方…

【论文阅读】AADiff: Audio-Aligned Video Synthesis with Text-to-Image Diffusion

AADiff:基于文本到图像扩散的音频对齐视频合成。 code:没开源 paper:[2305.04001] AADiff: Audio-Aligned Video Synthesis with Text-to-Image Diffusion (arxiv.org) 一种新的T2V框架,额外使用音频信号来控制时间动态,使现成的…

OpenHarmony之系统调用

背景 对于运行L0系统的硬件一般是mcu,资源有限,L0系统没有区分内核态和用户态,所有的代码都在内核态运行,所以不需要系统调用 L2系统用的是Linux内核,所以系统调用跟Linux Kernel的是一样的。 所以我们主要来看看L1系…

低代码开发平台助力搭建社区网格化管理系统

基于四维轻云的数字化三维社区管理平台,支持将社区三维模型以“户”为单位,批量生成单体化并关联其居民信息,快速构建出一户一证一档的管理模式;并可集成社区现有信息系统数据及传感资源,构建社区综合管理、人口管理、…

Java调用千帆大模型ERNIE-Bot-4实现联网问答

百度云: https://login.bce.baidu.com 对话测试: 示例代码: import okhttp3.*; import org.json.JSONObject;import java.io.*;class Sample {public static final String API_KEY "57fOrp****XCXD27";public static final String SECRET_KEY "KhNkIj****Ql…

iS-RPM2023.2.0.0新版本发布

引言 经过不断努力和精心打磨,我们带着全新版本的RPM产品与大家见面啦!本次更新将为广大流程分析师和质量管理员们提供更深入、更准确的洞察力,以帮助大家在数据驱动的决策中取得更卓越的成果。然而,让海量数据转化为可用的见解并不是一项容易的任务。我们理解数据分析师们…

C语言rand函数,srand函数,time函数实现随机数,及猜数字小游戏

怀心之所爱,奔赴山河 前言 最近在复习c的知识,想起之前写过一个猜数字小游戏,所以今天就把自己关于随机数的使用经验分享一下,希望对大家有帮助。 一.rand函数 1.函数的声明如下 可以看到,返回值是int类型&#xff…

vue如何实现局部刷新?

应用场景&#xff1a; 比如你要切换tap栏实现刷新下面form表单等&#xff0c;相当于刷新页面。 如何使用如下&#xff1a; <div v-if"isReloadData"> 比如你想刷新那个位置就把 v-if"isReloadData"写到那个标签上 </div> 在data中定义刷新标…

GPT编程(1)八分类图像数据集转换为二分类

一个核心问题就是要将这八类数据图片全部重命名&#xff0c;尝试了一步到位 有一个图像数据集&#xff0c;有八个类别amusement,anger,awe,contentment,disgust, excitement, fear,sadness的图片&#xff0c;每张图片被命名为“类别数字”。采用遍历的方式&#xff0c;按顺序阅…

熊猫目标检测数据集VOC格式1200张

熊猫是中国的国宝&#xff0c;也是世界上最受人喜爱的动物之一。熊猫以其独特的外貌和与生俱来的文化象征意义而闻名于世。它们是一种大型的食草动物&#xff0c;主要分布在中国中部地区的竹林和高山地带。 熊猫的身形圆润笨拙&#xff0c;黑白分明&#xff0c;拥有圆润的脸庞…

VerticalGridView适配触摸屏踩坑,触摸滑动时位置重置/闪烁问题

VerticalGridView是什么? VerticalGridView是安卓leanback库的列表组件,用于支持使用遥控器(按键事件)浏览列表。 它与RecyclerView的继承关系是:VerticalGridView→BaseGridView→RecyclerView 首先我想吐槽一下leanback的BaseGridView相关组件,耦合度较高,并且不允许开…

昇腾910平台安装驱动、固件、CANN toolkit、pytorch

本文使用的昇腾910平台操作系统是openEuler&#xff0c;之前没了解过&#xff0c;不过暂时感觉用起来和centOS差不多。系统架构是ARM&#xff0c;安装包基本都是带aarch64字样&#xff0c;注意和x86_64区别开&#xff0c;别下错了。 安装依赖 cmake 通过yum安装的cmake版本较…

基于YOLOv8的遥感SAR舰船小目标识别

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文摘要&#xff1a;基于YOLOv8的遥感SAR舰船小目标&#xff0c;阐述了整个数据制作和训练可视化过程 1.YOLOv8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的…

软件测试/测试开发丨Python常用数据结构-元组Tuple

元组的定义 元组是有序的、不可变的对象合集&#xff1b;元组使用小括号包围&#xff0c;各个对象之间使用逗号分隔&#xff1b;元组是异构的&#xff0c;可以包含多种数据类型。 元组的创建 方法一&#xff1a;使用逗号分隔方法二&#xff1a;通过小括号填充元素方法三&…

CENTOS docker拉取私服镜像

概述 docker的应用越来越多&#xff0c;安装部署越来越方便&#xff0c;批量自动化的镜像生成和发布都需要docker镜像的拉取。 centos6版本太老&#xff0c;docker的使用过程中问题较多&#xff0c;centos7相对简单容易。 本文档主要介绍centos系统安装docker和拉取docker私…

JavaScript中实现页面跳转的几种常用方法

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍在JavaScript中实现页面跳转的几种常用方法以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问题…

『JavaScript』全面解析JavaScript中的防抖与节流技术及其应用场景

&#x1f4e3;读完这篇文章里你能收获到 理解防抖&#xff08;Debouncing&#xff09;和节流&#xff08;Throttling&#xff09;的概念&#xff1a;了解这两种性能优化技术如何帮助我们更有效地处理频繁触发的事件掌握防抖与节流的实现方法&#xff1a;学习如何在JavaScript中…

平升电子水库监管平台SQL注入漏洞复现

0x01 产品简介 唐山平升电子水库监管平台通过实时监测、数据分析、预警系统和远程控制等功能&#xff0c;为水库管理部门提供了一种全面、高效的数字化解决方案&#xff0c;帮助他们更好地管理和监控水库&#xff0c;确保水库的安全运行。 0x02 漏洞概述 唐山平升电子水库监…