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 内置源列表
使用
列出可选择的源 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常用包