因為眾所周知的原因,使用node,官方NPM倉庫安裝依賴包是個看人品的事情,不過有萬能的淘寶,所以需要部分調整就可以避免這些原因。(以下內容osx, centos下測試通過)
首先是版本管理,NODE更新迭代較快,推薦使用NVM來進行版本管理,因為NVM支持鏡像選項,所以,簡單設置環境變量即可:
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/nodeexport 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/phantomjsexport CHROMEDRIVER_CDNURL=http://npm.taobao.org/mirrors/chromedriverexport 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-managerchmod u+x driver-managerln -s /usr/local/lib/node_modules/protractor/bin/driver-manager /usr/local/bin/driver-manager以上為自己使用所做,可能略顯繁瑣。基于自帶的webdriver-manager,替換掉相應路徑為鏡像路徑,生成新的driver-manager,然后世界就安靜了。
新聞熱點
疑難解答