场景:在日常开发中,需要使用一些基于node.js的javascript库文件,就需要npm对这些依赖库进行方便的管理。有时基于我们的开发环境由于安全因素起见,在访问一些网站时需要使用代理,其中就包括npm的repositories网站,所以就需要修改npm的配置来加入代理。
设置代理
为npm 设置代理,在设置配置属性时属性值默认是被存储于用户配置文件中,如果加上–global,则被存储在全局配置文件中。如果要查看npm的所有配置属性(包括默认配置),可以使用npm config ls -l。
npm config set proxy http://server:port
npm config set https-proxy http://server:port
如果代理需要认证的话可以这样来设置
npm config set proxy http://username:password@server:port
npm confit set https-proxy http://username:password@server:port
如果代理不支持https的话需要修改npm存放package的网站地址
npm config set registry "http://registry.npmjs.org/"
配置镜像
场景:registry即源,镜像即是对资源的映射存储(个人理解),在我们日常开发中,公司或有自己的私有库,因此在我们install时是无法直接拉取的,就需要设置镜像,从该私有源去install资源,常见也有像淘宝的镜像,它的镜像服务器在国内,资源跟npm一致,主旨意在提升资源的加载速度
安装时临时指定代理:npm --registry=https://registry.npm.taobao.org install
全局配置:npm config set registry https://registry.npm.taobao.org
删除:
npm config delete registry
或者 npm config edit
找到:registry=https://registry.npm.taobao.org/ 那行删除
使用nrm管理npm 源
安装
mac : sudo npm install -g nrm
windows: npm install -g nrm
使用
列出可用的源:
➜ ~ 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/
切换:
➜ ~ nrm use taobao
Registry has been set to: http://registry.npm.taobao.org/
增加源:
nrm add <registry> <url> [home]
删除源:
nrm del <registry>
测试速度:
nrm test
以上资源仅供参考,有不对之处请指教。Done is better than perfect!!!