nrm 教程

🌙
手机阅读
本文目录结构
axihe

介绍

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常用包


AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili 和抖音。

关注我: Github / 知乎

如果你加我的私人微信,麻烦写上您的 称呼,所在地区,职业,方便我备注,谢谢


本站的微信公众号

阿西河前端教程

Anbang

Bilibili(B站)

朱安邦

Anbang