前言
因为众所周知的原因,使用node
,官方NPM
仓库安装依赖包是个看人品的事情,不过有万能的淘宝,所以需要部分调整就可以避免这些原因。(以下内容osx
, centos
下测试通过)
淘宝镜像基本使用
首先是版本管理,NODE
更新迭代较快,推荐使用NVM
来进行版本管理,因为NVM
支持镜像选项,所以,简单设置环境变量即可:
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs
其次是NPM
仓库:
npm --registry=https://registry.npm.taobao.org install -g cnpm
然后使用cnpm
来处理一切包安装即可,不过,如果提交包到官方仓库,只能使用NPM
,实在不行就开VPN
。。。。。
最后是前端测试经常会用到的几个依赖, chromedriver
, phantomjs
, selinium
export PHANTOMJS_CDNURL=http://npm.taobao.org/mirrors/phantomjs export CHROMEDRIVER_CDNURL=http://npm.taobao.org/mirrors/chromedriver export SELENIUM_CDNURL=http://npm.taobao.org/mirrorss/selenium
大部分场景足以应付,不过也有例外。
使用angular
配套的protractor
进行E2E
测试时,selenium
, chromedriver
是通过自带的webdriver-manager
来管理,目测貌似不支持环境变量的方式,所以需要麻烦一点:
# 路径为/usr/local/lib/node_modules/protractor/bin/ cat webdriver-manager \ | gawk \'{gsub(/https:\/\/chromedriver.storage.googleapis.com\//,"http://npm.taobao.org/mirrors/chromedriver/", $0); print $0 }\' \ | gawk \'{gsub(/https:\/\/selenium-release.storage.googleapis.com\//,"http://npm.taobao.org/mirrors/selenium/", $0); print $0 }\' \ > driver-manager chmod u+x driver-manager ln -s /usr/local/lib/node_modules/protractor/bin/driver-manager /usr/local/bin/driver-manager
以上为自己使用所做,可能略显繁琐。基于自带的webdriver-manager
,替换掉相应路径为镜像路径,生成新的driver-manager
,然后世界就安静了。