likes
comments
collection
share

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

作者站长头像
站长
· 阅读数 35

背景

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=ant.xx.com 这里下载,其余全去淘宝镜像下载。

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

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

结语

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

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

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

转载自:https://juejin.cn/post/7230747155370115130
评论
请登录