直接使用npm安装包的时候动不动会因为网络问题导致安装失败,淘宝提供了一个npm的国内镜像,从淘宝镜像下载速度明显快了很多。
升级node及npm
如果node比较老,需要先升级,否则可能导致从国内镜像下载失败。由于我的操作系统是windows,我没有找到像Linux那样简单的升级node的方式,虽然也有 nvmw
可以管理node版本,但我一直没有试成功,总是有这样那样的错误,所以只好老老实实地下载安装包安装。
安装npmrc
需要将npm
的registry设置为淘宝的registry https://registry.npm.taobao.org. 这里我使用的是npmrc,它有2个好处:
- 不需要每次执行设置registry的命令
- 可以管理多个npm配置,随时在不同的配置间切换
安装npmrc:
npm install -g npmrc
常用命令:
#列出当前有几个配置
npmrc
#创建新的配置
npmrc -c taobao
#在不同的配置间切换
npmrc “配置名”
配置registry
首先创建新的配置
npmrc -c taobao
设置registry
npm config set registry https://registry.npm.taobao.org
另一种选择
在使用npmrc
的时候发现有这样一个选项: npmrc -r <registry>
, 可以设置当前使用哪个镜像,这其中就包括中国的镜像:
npmrc -r cn
执行 npm config get registry
发现设置的是 http://r.cnpmjs.org/ ,google了一下,貌似这是国人发起的私有npm项目,而它的国内镜像指向的就是淘宝。
这种设置更简单。
问题
更换registry后发现还有一些,比如使用yo
的时候安装generator总是失败,可能是这些镜像不支持官方npm的某些api.