[关闭]
@bornkiller 2015-02-16T10:02:18.000000Z 字数 1331 阅读 2599

淘宝 NPM 镜像使用

nodejs


前言

因为众所周知的原因,使用node,官方NPM仓库安装依赖包是个看人品的事情,不过有万能的淘宝,所以需要部分调整就可以避免这些原因。(以下内容osx, centos下测试通过)

淘宝镜像基本使用

首先是版本管理,NODE更新迭代较快,推荐使用NVM来进行版本管理,因为NVM支持镜像选项,所以,简单设置环境变量即可:

  1. export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
  2. export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs

其次是NPM仓库:

  1. npm --registry=https://registry.npm.taobao.org install -g cnpm

然后使用cnpm来处理一切包安装即可,不过,如果提交包到官方仓库,只能使用NPM,实在不行就开VPN。。。。。

最后是前端测试经常会用到的几个依赖, chromedriver, phantomjs, selinium

  1. export PHANTOMJS_CDNURL=http://npm.taobao.org/mirrors/phantomjs
  2. export CHROMEDRIVER_CDNURL=http://npm.taobao.org/mirrors/chromedriver
  3. export SELENIUM_CDNURL=http://npm.taobao.org/mirrorss/selenium

大部分场景足以应付,不过也有例外。

特例

使用angular配套的protractor进行E2E测试时,selenium, chromedriver是通过自带的webdriver-manager来管理,目测貌似不支持环境变量的方式,所以需要麻烦一点:

  1. # 路径为/usr/local/lib/node_modules/protractor/bin/
  2. cat webdriver-manager \
  3. | gawk '{gsub(/https:\/\/chromedriver.storage.googleapis.com\//,"http://npm.taobao.org/mirrors/chromedriver/", $0); print $0 }' \
  4. | gawk '{gsub(/https:\/\/selenium-release.storage.googleapis.com\//,"http://npm.taobao.org/mirrors/selenium/", $0); print $0 }' \
  5. > driver-manager
  6. chmod u+x driver-manager
  7. ln -s /usr/local/lib/node_modules/protractor/bin/driver-manager /usr/local/bin/driver-manager

以上为自己使用所做,可能略显繁琐。基于自带的webdriver-manager,替换掉相应路径为镜像路径,生成新的driver-manager,然后世界就安静了。

联系方式

Email: hjj491229492@hotmail.com

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注