阿西河

所有教程

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

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      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主页
      npmhttps://registry.npmjs.org/https://www.npmjs.com/
      cnpmhttp://r.cnpmjs.org/https://cnpmjs.org/
      taobaohttps://registry.npm.taobao.org/https://npm.taobao.org/
      npmMirrorhttps://skimdb.npmjs.com/regi...https://skimdb.npmjs.com/
      njhttps://registry.nodejitsu.com/https://www.nodejitsu.com/
      rednpmhttp://registry.mirror.cqupt....http://npm.mirror.cqupt.edu.cn/
      edunpmhttp://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的教程都有!

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

      目录
      目录