自学内容网 自学内容网

【nrm】 Node.js 包管理器

nrm是什么

nrm(Node 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 选项是为了增加安全性,但并不是必需的。


原文地址:https://blog.csdn.net/weixin_45687201/article/details/142522412

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!