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://www.mzph.cn/news/584167.shtml

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

相关文章

【UE 游戏模板】 游戏分类(RPG、RST等)

目录 0 引言1 游戏分类1.1 角色扮演游戏(RPG)1.2 第一人称射击游戏(FPS)1.3 即时策略游戏(RTS)1.4 VR游戏1.5 集换式卡牌游戏(TCG)1.5 塔防游戏(Tower Defense Games&…

【Web】Ctfshow Thinkphp5 非强制路由RCE漏洞

目录 非强制路由RCE漏洞 web579 web604 web605 web606 web607-610 前面审了一些tp3的sql注入,终于到tp5了,要说tp5那最经典的还得是rce 下面介绍非强制路由RCE漏洞 非强制路由RCE漏洞原理 非强制路由相当于开了一个大口子,可以任意调用当前框…

golang 图片加水印

需求: 1,员工签到图片加水印 2,水印文字需要有半透明的底色,避免水印看不清 3,图片宽设置在600,小于600或者大于600都需要等比例修改图片的高度,保持水印在图片中的大小和位置 4,处理…

GLTF编辑器-位移贴图实现破碎的路面

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 位移贴图是一种可以用于增加模型细节和形状的贴图。它能够在渲染时针…

JavaWeb——前端之JSVue

接上篇笔记 4. JavaScript 概念 跨平台、面向对象的脚本语言,使网页可交互与Java语法类似,但是不需要变异,直接由浏览器解析1995年Brendan Eich发明,1997年成为ECMA标准(ECMA制定了标准化的脚本程序设计语言ECMAScr…

Unity Shader-真实下雨路面

Unity Shader-真实下雨路面 简介素材1.准备插件Amplify Shader Editor(这里我使用的是1.6.4最新版)2.贴纸和切图d 一、创建一个Shader Surface,实现气泡播放效果二、叠加一次气泡播放效果,使其看起来更多,更无序三、小…

新火种AI|AI正在让汽车成为“消费电子产品”

作者:一号 编辑:小迪 AI正在让汽车产品消费电子化 12月28日,铺垫许久的小米汽车首款产品——小米SU7正式在北京亮相。命里注定要造“电车”的雷军,在台上重磅发布了小米的五大自研核心技术。在车型设计、新能源技术以及智能科技…

手把手带你入门本地AI绘画(Stable Diffusion)

AIGC现如今可谓是如日中天,AI绘画算是其中最火的其中之一了。现在的AI绘图工具也是百家争鸣,不管是网页端,APP端,还是小程序端,都能看到各种各样的AI绘图工具,他们多是需要你发送关键词或绘图命令到他们的服务器,然后由服务器渲染完成之后返图给你,所以一定会占用他们的…

概率论相关题型

文章目录 概率论的基本概念放杯子问题条件概率与重要公式的结合独立的运用 随机变量以及分布离散随机变量的分布函数特点连续随机变量的分布函数在某一点的值为0正态分布标准化随机变量函数的分布 多维随机变量以及分布条件概率max 与 min 函数的相关计算二维随机变量二维随机变…

4-链表-合并两个有序链表

这是链表的第4题,来个简单算法玩玩。力扣链接。 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2&#xff…

JS 嵌套循环之退出顶层循环

我们常常写循环的时候&#xff0c;可能会遇到嵌套循环&#xff0c;如果出现退出循环&#xff0c;一层还好&#xff0c;多层循环就费劲了&#xff0c;传统做法是加 flag&#xff0c;如下&#xff1a; for (let i 0; i < 10; i) {let flag falsefor (let j 0; j < 5; j…

【Angular 】Angular 模板中基于角色的访问控制

您是否在Angular模板中实现角色库访问控制&#xff1f;一种方法是通过*ngIf&#xff0c;但我不会选择该路径&#xff0c;因为它将在Angular模板中包含自定义函数&#xff0c;并且很难维护。正确的方法是使用Angular结构指令&#x1f680;. 什么是RBAC&#xff1f; 基于角色的…

自然语言处理(第16课 机器翻译4、5/5)

一、学习目标 1.学习各种粒度的系统融合方法 2.学习两类译文评估标准 3.学习语音翻译和文本翻译的不同 4.学习语音翻译实现方法 二、系统融合 以一个最简单的例子来说明系统融合&#xff0c;就是相当于用多个翻译引擎得到不同的翻译结果&#xff0c;然后选择其中最好的作为…

【网络安全 | XCTF】2017_Dating_in_Singapore

正文 题目描述&#xff1a; 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-02010814222930-0605041118252627-0203040310172431-0102030108152229151617-04050604111825181920-0108152229303124171003-261912052028211407-0405…

Linux开发工具——gdb篇

Linux下调试工具——gdb 文章目录 makefile自动化构建工具 gdb背景 gdb的使用 常用命令 总结 前言&#xff1a; 编写代码我们使用vim&#xff0c;编译代码我们使用gcc/g&#xff0c;但是我们&#xff0c;不能保证代码没问题&#xff0c;所以调试是必不可少的。与gcc/vim一样&…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率获取方式CameraExplorer如何查看相机帧率信息在NEOAPI SDK里通过函数获取相机帧率&#xff08;C&#xff09; …

从方程到预测:数学在深度学习中的作用

图片来源 一、说明 深度学习通常被认为是人工智能的巅峰之作&#xff0c;它的成功很大程度上归功于数学&#xff0c;尤其是线性代数和微积分。本文将探讨深度学习与数学之间的深刻联系&#xff0c;阐明为什么数学概念是该领域的核心。 二、数学框架 从本质上讲&#xff0c;深度…

水经微图IOS版即将发布!

我们从上周开始&#xff0c;已经在着手提交产品到苹果商店等相关工作&#xff0c;但又恰逢“圣诞节”&#xff0c;据说这会导致延长审核周期。 正所谓行百里者半九十&#xff0c;我们现在只需要耐心等待审核通过&#xff0c;到时大家就可以在苹果商店中下载安装了。 IOS版功能…

echarts半圆进度条半圆饼图

drawmonthproduce(){this.monthproduce echarts.init(document.getElementById(monthproduce));var data 60; //数值大小var max 100; //满刻度大小this.monthproduce.setOption({title: [{text: data %, left: 50%,top: 70%,textAlign: center,textStyle: {// fontWeight…

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

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