nrm轻松管理NPM注册表的工具与.npmrc定制化项目的依赖管理

简介: NPM 是前端开发中一个不可或缺的工具,用于管理和安装各种依赖包。但是,有时候我们需要从不同的 NPM 注册表中安装包,例如,从 `npmjs.org`、`淘宝镜像`或`私有注册表`中安装。这时候,一个方便的管理工具就显得非常重要了,而 nrm 就是这样一个工具。

npm.jpeg

背景

NPM 是前端开发中一个不可或缺的工具,用于管理和安装各种依赖包。但是,有时候我们需要从不同的 NPM 注册表中安装包,例如,从 npmjs.org淘宝镜像私有注册表中安装。这时候,一个方便的管理工具就显得非常重要了,而 nrm 就是这样一个工具。

什么是nrm?

nrm 是一个 Node.js 包管理器(NPM)的注册表管理工具。它允许用户轻松地切换不同的 NPM 注册表,以满足不同的需求。例如,如果你需要从npmjs.org注册表下载包,可以使用 nrm 快速地切换到该注册表;如果你需要从淘宝镜像下载包,也可以轻松地切换到该镜像。

nrm 是基于 Node.js 开发的命令行工具,可以在任何终端环境中使用。它不需要复杂的配置和安装,只需通过 NPM 全局安装即可使用。

如何使用nrm?

安装nrm

你可以使用以下命令来全局安装nrm:

npm install -g nrm

安装完成后,你可以通过运行以下命令来查看当前可用的 NPM 注册表列表:

nrm ls

这时,你应该能看到如下的输出:

npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
taobao ----- https://registry.npm.taobao.org/
npmMirror -- https://skimdb.npmjs.com/registry/

切换 NPM 注册表

如果你想要从一个 NPM 注册表切换到另一个,可以使用以下命令:

nrm use <registry>

其中,<registry>是你想要切换到的 NPM 注册表的名称。例如,如果你想要切换到淘宝镜像,可以运行以下命令:

nrm use taobao

这时,你就可以从淘宝镜像中下载包了。

添加自定义 NPM 注册表

除了默认的 NPM 注册表列表,你还可以添加自定义的 NPM 注册表(有的公司是有自己的 NPM 注册表的)。

nrm add <registry> <url>

其中,<registry>是注册表的名称,<url>是注册表的URL地址。例如,如果你想要添加一个名为“my-registry”的私有注册表,可以运行以下命令:

nrm add my-registry https://my-registry.com

删除已添加的NPM注册表

如果你想要删除已添加的NPM注册表,可以使用以下命令:

nrm del <registry>

其中,<registry>是你想要删除的注册表的名称。例如,如果你想要删除名为“my-registry”的注册表,可以运行以下命令:

nrm del my-registry

通过使用 nrm,你可以方便地管理和切换不同的 NPM 注册表,以满足不同项目的需求,提高包下载的速度和稳定性。

.npmrc

有的小伙伴可能不想来回切换 npm 注册表来下载依赖,此时怎么办?

.npmrc定制化项目的依赖管理

.npmrc是一个 NPM 的配置文件,它可以用来设置和定制 NPM 的行为。在一个前端项目中,你可以在项目根目录下创建一个名为.npmrc的文件,并在其中定义一些配置选项,.npmrc 文件的优先级最高,从而影响 NPM 的行为。

如何设置 .npmrc

在项目的根目录下新建 .npmrc 文件,在里面以 key=value 的格式进行配置。

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

比如:以 @ant 开头的包从 registry=https://ant.xx.com 这里下载,其余全去淘宝镜像下载。

registry=https://registry.npm.taobao.org/
@ant:registry = https://ant.xx.com

总结:nrm 主要用于管理 NPM 注册表。而 .npmrc 可以设置项目全依赖镜像管理下载,也可以设置局部某一特定依赖下载。用好了 .npmrc 可以极大程度上减少依赖下载速度与异常错误,建议使用。

结语

感谢您的阅读!希望本文带给您有价值的信息。

如果对您有帮助,请「点赞」支持,并「关注」我的主页获取更多后续相关文章。同时,也欢迎「收藏」本文,方便以后查阅。

写作不易,我会继续努力,提供有意义的内容。感谢您的支持和关注!

目录
相关文章
|
1天前
|
缓存 资源调度 持续交付
在清空NPM缓存后,检查是否所有依赖都已正确安装
在清空NPM缓存后,检查是否所有依赖都已正确安装
|
8天前
|
缓存 资源调度 持续交付
在清空NPM缓存后,如何检查是否所有依赖都已正确安装
在清空NPM缓存后,如何检查是否所有依赖都已正确安装
|
2月前
|
运维 Kubernetes Java
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
|
12天前
|
存储 安全 Java
阿里云云效产品使用合集之怎么设置使用npm私有仓库进行流水线拉取依赖
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
npm构建vite项目
npm构建vite项目
41 2
|
3月前
使用npm构建vite+vue+ts项目的两种方式
使用npm构建vite+vue+ts项目的两种方式
31 0
使用npm构建vite+vue+ts项目的两种方式
|
2月前
npm-check【实用教程】升级项目中的依赖
npm-check【实用教程】升级项目中的依赖
29 0
|
2月前
|
JavaScript 开发工具
支付系统----微信支付22------初始化Vue项目,npm run serve -- -- port 8888,Vue默认打开是8888的写法
支付系统----微信支付22------初始化Vue项目,npm run serve -- -- port 8888,Vue默认打开是8888的写法
|
2月前
|
JavaScript 开发工具 git
使用TS+rollup打造一个npm工具库
使用TS+rollup打造一个npm工具库
26 0
|
2月前
包管理工具——npm实用教程 (修改下载源,安装依赖 -D -S -g ,卸载依赖等)
包管理工具——npm实用教程 (修改下载源,安装依赖 -D -S -g ,卸载依赖等)
41 0

推荐镜像

更多
下一篇
云函数