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

【nrm】npm 注册表管理器

nrm是什么

nrm(NPM Registry Manager)是一个用于管理 Node.js 包管理器(如 npmYarn)的注册表工具。它可以帮助用户快速切换不同的 npm 源,以便于提高包安装的速度和效率,特别是在中国大陆地区,使用默认的 npm 源往往速度较慢。
在这里插入图片描述

nrm的作用

在使用 npm 的过程中,可能插件安装速度比较慢,我们可能会使用淘宝源对插件进行下载安装。或者在公司内部,有一些私有的插件,需要使用公司的源才可以下载。这种情况,我们就需要设置不同的源来进行下载。每次手动设置相对比较麻烦。而 nrm 可以很好的解决这个问题。

nrm主要功能

  1. 切换 npm 源:可以快速在多个 npm 源之间切换。
  2. 添加和删除源:可以自定义添加新的源或删除不需要的源。
  3. 查看当前源:可以方便地查看当前正在使用的 npm 源。
  4. 列出可用源:可以查看所有可用的 npm 源列表。

安装 nrm

# 全局安装 nrm
$ npm install nrm -g

安装完成后,输入命令 nrm ls,可以看到默认已经有了 6 个源(带 * 号的为当前使用的源)

* npm ---- https://registry.npmjs.org/cnpm --- http://r.cnpmjs.org/taobao - https://registry.npm.taobao.org/nj ----- https://registry.nodejitsu.com/npmMirror  https://skimdb.npmjs.com/registry/edunpm - http://registry.enpmjs.org/

输入 nrm use taobao,即切换 registry 到 taobao,即可使用淘宝的源进行插件的安装下载了。

nrm常用命令

命令描述
npm install -g nrm全局安装nrm
nrm current查看当前使用的 npm 源
nrm ls列出所有可用的 npm 源
nrm use <name>切换到其他 npm 源
nrm add <name> <url>切添加自定义源
nrm del <name>删除已添加的源
nrm set <name> <new-url>更新已添加的源
nrm test测试所有源的速度
nrm test <name>测试指定源的速度

nrm示例解析

  • npm install -g nrm:全局安装nrm, 注意:如果使用 nvm 那么会安装在当前node版本号文件目录中

  • nrm current:查看当前使用的 npm 源

  • nrm ls:查看所有配置好的源以及对应名称
    在这里插入图片描述

  • nrm use <name>:切换源,即可使用 name 对应名称的源

  • nrm add <name> <url>:添加源,name 是名称,可以自行命名,后面是源的 url 地址。例如,添加一个自定义源nrm add myregistry https://my.custom.registry/

  • nrm del <name>:删除源,根据名称 name 可以删除对应的源

  • nrm set <name> <new-url>:如果需要更新某个源的 URL,可以使用 set 来更新

  • nrm test <name> :测试源的速度,不加对应的 name 名称,测试所有源的速度,添加对应的名称,比如 name,就是测试 name 对应的源的速度
    在这里插入图片描述
    在这里插入图片描述

  • 更多命令在命令行输入 nrm 即可查看

nrm指定了npm源后,只允许安装源内的包吗?

不是的。

nrm允许你方便地切换和管理 npm 源,但它并不会限制你只能安装指定源内的包。换句话说,通过 nrm 指定了源后,你的 npm 安装命令会从该源中拉取包信息,但如果在该源中找不到指定的包,npm 仍然可能会尝试从默认源(如 npm 官方源)中查找包。

为了确保只从指定的源中安装包,你需要将 npm 配置锁定到该源。可以使用以下步骤来实现:

  1. 通过 nrm 切换源

    nrm use <your-registry-name>
    
  2. 验证当前源

    npm config get registry
    
  3. 设置严格的 registry 配置
    可以通过编辑 .npmrc 文件来强制 npm 只从指定的源中安装包。例如,在你的项目根目录下创建或编辑 .npmrc 文件,添加以下内容:

    registry=<your-registry-url>
    strict-ssl=true
    always-auth=true
    
  4. 锁定范围(可选):
    如果你只希望对某个范围内的包使用特定的 registry,可以在 .npmrc 中进行如下配置:

    @your-scope:registry=<your-registry-url>
    

通过上述步骤,你可以确保 npm 只从你指定的源中安装包。请注意,strict-sslalways-auth 选项是为了增加安全性,但并不是必需的。

相关文章:

  • STM32精确控制步进电机
  • 2025 年 IT 前景:机遇与挑战并存,人工智能和云计算成重点
  • Java面试:ArrayList 和 LinkedList 的区别是什么?谈谈你对ArrayList和LinkedList的理解
  • 基于深度学习的学情智能监测系统设计与实现(PYQT+YOLOv8+训练数据集+论文+部署文档)
  • we3.0里的钱包是什么?
  • 基于python+flask+mysql的音频信息隐藏系统
  • Llama 3.2 90B刚开源就被Molmo-72B全面击败!
  • SpringCloud入门
  • Java Web应用升级故障案例解析
  • 高效处理大规模数据:MATLAB实践指南
  • 828华为云征文|部署敏捷项目管理系统工具 ZenTao
  • 千亿大数据不为人知的数据库缺陷——中看不中用的设置——MySQL大数据优化
  • 第17周 第3章Servlet开发应用实践 ---Servlet启动时加载与错误页面设置
  • 车辆重识别(利用扩散模型合成有效数据进行行人再识别预训练)论文阅读2024/9/27
  • Mac电脑上最简单安装Python的方式
  • conda常用的命令
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Iterator 和 for...of 循环
  • JavaWeb(学习笔记二)
  • java正则表式的使用
  • leetcode46 Permutation 排列组合
  • Lsb图片隐写
  • mac修复ab及siege安装
  • Spring框架之我见(三)——IOC、AOP
  • Web标准制定过程
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 对超线程几个不同角度的解释
  • 诡异!React stopPropagation失灵
  • 基于 Babel 的 npm 包最小化设置
  • 记一次用 NodeJs 实现模拟登录的思路
  • 简析gRPC client 连接管理
  • 人脸识别最新开发经验demo
  • Java性能优化之JVM GC(垃圾回收机制)
  • MPAndroidChart 教程:Y轴 YAxis
  • 阿里云重庆大学大数据训练营落地分享
  • 如何正确理解,内页权重高于首页?
  • # 飞书APP集成平台-数字化落地
  • #14vue3生成表单并跳转到外部地址的方式
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)计算机毕业设计ssm电影分享网站
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (转)C#调用WebService 基础
  • (转)Windows2003安全设置/维护
  • (转)四层和七层负载均衡的区别
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .java 9 找不到符号_java找不到符号
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET 材料检测系统崩溃分析
  • .NET 事件模型教程(二)
  • .Net的DataSet直接与SQL2005交互
  • .net和php怎么连接,php和apache之间如何连接