阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

    教程列表

    数据库
    抓包专区
    测试专区

    nrm 教程

    介绍

    npm 在我们天朝上国经常访问速度很慢,这就导致开发的体验非常不好;

    有很多公开的国内源,可以让大家更快的安装包,然而我们有切换会官网npm源的需求(比如发布包),所以有时需要切换 npm 的源。

    nrm 包就是解决快速切换问题的。

    nrm 可以帮助您在不同的 npm 源地址之间轻松快速地切换,是一个非常快捷的工具。

    Npm上的地址: https://www.npmjs.com/package/nrm

    安装:npm install -g nrm

    打开终端运行 npm install -g nrm 命令:

    $ npm install -g nrm
    
    /usr/local/bin/nrm -> /usr/local/lib/node_modules/nrm/cli.js
    + nrm@1.0.2
    added 324 packages from 564 contributors in 13.338s
    

    查看是否安装成功

    使用 nrm --version

    $ nrm --version
    
    1.2.1
    

    nrm 内置源列表

    URL 主页
    npm https://registry.npmjs.org/ https://www.npmjs.com/
    cnpm http://r.cnpmjs.org/ https://cnpmjs.org/
    taobao https://registry.npm.taobao.org/ https://npm.taobao.org/
    npmMirror https://skimdb.npmjs.com/regi... https://skimdb.npmjs.com/
    nj https://registry.nodejitsu.com/ https://www.nodejitsu.com/
    rednpm http://registry.mirror.cqupt…. http://npm.mirror.cqupt.edu.cn/
    edunpm http://registry.enpmjs.org/ http://www.enpmjs.org/

    使用

    列出可选择的源 nrm ls

    nrm ls

    $ nrm ls
    
      npm ---- https://registry.npmjs.org/
      cnpm --- http://r.cnpmjs.org/
    * taobao - https://registry.npm.taobao.org/
      nj ----- https://registry.nodejitsu.com/
      rednpm - http://registry.mirror.cqupt.edu.cn/
      npmMirror  https://skimdb.npmjs.com/registry/
      edunpm - http://registry.enpmjs.org/
    

    注: 前面带 * 号的表示正在使用的源

    切换使用的源 nrm use

    nrm use npm

    $ nrm use npm
    
       Registry has been set to: https://registry.npmjs.org/
    

    添加一个源 nrm add

    nrm add <registry> <url>
    

    如果你想添加一个源,终端执行命令,reigstry 为源名,url 为源的路径, home 为源的主页(可不写)。

    $ nrm add company http://npm.company.com/
        add registry company success
    

    注:

    URL 最后的 / 也可以不带,下面两个 URL 都是可以的:

    http://npm.company.com/
    http://npm.company.com
    

    [home]参数用于 nrm home 命令,用来查看源的主页。

    删除一个源 nrm del

    想要删除一个源,终端执行命令nrm del <registry>,reigstry 为源名。

     $ nrm del company
    
        delete registry company success
    

    注:nrm del 命令不能删除 nrm 自己内置的源。

    测试源速度 nrm test

    测试单个源

    测试一个源的响应时间:nrm test npm

    $ nrm test npm
    
    * npm ---- 833ms
    

    测试所有

    测试所有源的速度:nrm test

    $ nrm test
    
    * npm ---- 807ms
      cnpm --- 374ms
      taobao - 209ms
      nj ----- Fetch Error
      rednpm - Fetch Error
      npmMirror  1056ms
      edunpm - Fetch Error
    

    访问源的主页 nrm home

    如果你想访问源的主页,可在终端输入下面命令:

    nrm home taobao
    

    此命令会在浏览器中打开淘宝源的主页:https://npm.taobao.org/

    注:如果要查看自己添加的源的主页,那么在添加源的时候就要把主页带上:

    $ nrm add company http://npm.company.com/ http://npm.company.com/
    

    如果添加源的时候没有写 home 信息,那么 nrm home 命令不会有效果。

    nrm 用法/选项

    选项:
      -V, --version                           输出版本号
      -h, --help                              输出帮助信息
    
    指令:
      ls                                      列出所有注册表
      current                                 显示当前注册表名称
      use <registry>                          切换注册表
      add <registry> <url> [home]             添加一个自定义注册表
      set-auth [options] <registry> [value]   使用base64编码的字符串或用户名和密码设置自定义注册表的授权信息
      set-email <registry> <value>            为自定义注册表设置电子邮件
      set-hosted-repo <registry> <value>      设置用于自定义注册表的托管npm存储库以发布程序包
      del <registry>                          删除一个自定义注册表
      home <registry> [browser]               使用可选的浏览器打开注册表的主页
      publish [options] [<tarball>|<folder>]  如果当前注册表是自定义注册表,则将程序包发布到当前注册表。
                                              如果您不使用自定义注册表,则此命令将直接运行npm publish
      test [registry]                         显示特定或所有注册表的响应时间,一般厕所使用
      help                                    打印此帮助
    

    npm 切换源

    如果不是 nrm 也能切换源,只不过比较麻烦。

    • 查看当前使用的源npm config get registry
    $ npm config get registry
    https://registry.npmjs.org/
    
    • 设置一个源

      npm config set registry https://registry.npm.taobao.org/

      $ npm config set registry https://registry.npm.taobao.org/
      

      设置成功后终端不会有任何输出。

    • 安装包使用特定源

      • 全部使用特定源安装:npm install --registry=https://registry.npm.taobao.org
      • 安装一个包使用特定源:npm i logo --registry=https://registry.npm.taobao.org

    本文参考

    https://segmentfault.com/a/1190000017419993

    更多npm包

    更多npm热门包参考 Npm常用包

    卖前端学习教程

    只需几十元,就能买到培训班的内部教程!开启高薪之路!

    零基础小白阿里P7的教程都有!

    同时长期收购所有培训班的前端教程

    目录
    目录