存在的问题
使用npm下载镜像默认是采用国外的镜像地址的,那么当在国内使用国外的地址来下载软件,那么肯定存在网络缓慢的过程。
那么这时候就要考虑切换国内下载镜像。但是这样也有一个问题,切换国内镜像有些时候挺麻烦的,这时候就可以使用nrm这个工具来进行镜像地址切换。
nrm的作用
作用:提供了一些最常用的NPM包镜像地址,能够让我们快速的切换安装包时候的服务器地址;什么是镜像:原来包刚一开始是只存在于国外的NPM服务器,但是由于网络原因,经常访问不到,这时候,我们可以在国内,创建一个和官网完全一样的NPM服务器,只不过,数据都是从人家那里拿过来的,除此之外,使用方式完全一样;
- 运行
npm i nrm -g
全局安装nrm
包; - 使用
nrm ls
查看当前所有可用的镜像源地址以及当前所使用的镜像源地址; - 使用
nrm use npm
或nrm use taobao
切换不同的镜像源地址;
❝注意:nrm 只是单纯的提供了几个常用的 下载包的 URL地址,并能够让我们在 这几个 地址之间,很方便的进行切换,但是,我们每次装包的时候,使用的 装包工具,都是 npm ❞
那么下面来演示一下安装使用的过程。
1. 全局安装nrm
运行npm i nrm -g
安装如下:
image-20200301235728070
代码语言:javascript复制Administrator@USC2VG2F9NPB650 MINGW64 /e/webProject/vue-pratice (master)
$ npm i nrm -g
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated coffee-script@1.7.1: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
C:UsersAdministratorAppDataRoamingnpmnrm -> C:UsersAdministratorAppDataRoamingnpmnode_modulesnrmcli.js
nrm@1.2.1
added 494 packages from 873 contributors in 61.767s
Administrator@USC2VG2F9NPB650 MINGW64 /e/webProject/vue-pratice (master)
$ nrm ls
* npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
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/
但是也有时候,由于网络的原因,会卡住不动,无法安装下去,如下:
image-20200301235308399
在安装的过程中,出现这个就不动了,然后就无法下载了。
那么此时可以临时设置淘宝镜像来处理安装,命令如下:
代码语言:javascript复制# 配置淘宝镜像
npm config set registry https://registry.npm.taobao.org
# 配置完成后,检验是否成功
npm config get registry
# 重新安装
npm install nrm -g
# 查看所用的镜像
nrm ls
好了,当执行nrm ls
可以查看到镜像,那么就说明安装好了nrm
了。
2. 查看当前使用源 nrm current
代码语言:javascript复制$ nrm current
npm
3. 切换源
代码语言:javascript复制nrm use <registry>
其中,registry为源名。
比如:切换为taobao源
代码语言:javascript复制nrm use taobao
示例如下:
image-20200302000711551
4. 添加源
代码语言:javascript复制nrm add <registry> <url>
其中,registry为源名,url为源地址。
比如:添加一个公司私有的npm源,源地址为:http://192.168.10.1:8888/repository/npm-public/,源名为cpm(随意取)。
代码语言:javascript复制nrm add cpm http://192.168.10.1:8888/repository/npm-public/
示例如下:
image-20200302074853662
5. 删除源
代码语言:javascript复制nrm del <registry>
其中,registry为源名。
比如:删除刚才添加的cpm源
代码语言:javascript复制nrm del cpm
示例如下:
image-20200302075018188
6. 测试源速度(即响应时间)
代码语言:javascript复制nrm test <registry>
其中,registry为源名。
比如:测试官方源和淘宝源的响应时间
代码语言:javascript复制nrm test npm
示例如下:
image-20200302075332302
7. 安装cnpm
代码语言:javascript复制npm i cnpm -g
注意:这里的cnpm不是上方安装nrm后的cnpm镜像地址,而是一个安装工具。
安装示例如下: