淘宝 NPM 镜像使用

Posted zhao1949

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了淘宝 NPM 镜像使用相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/pingfan1990/p/5217368.html

*******************************

 

前言

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

淘宝镜像基本使用

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

1
2
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
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。。。。。

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

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测试时,seleniumchromedriver是通过自带的webdriver-manager来管理,目测貌似不支持环境变量的方式,所以需要麻烦一点:

1
2
3
4
5
6
7
# 路径为/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,然后世界就安静了。

 

简简单单,pfan!出来混的,一切都是要还的。
 

以上是关于淘宝 NPM 镜像使用的主要内容,如果未能解决你的问题,请参考以下文章

npm 使用淘宝镜像

使用淘宝 NPM 镜像

npm使用淘宝镜像

npm淘宝镜像

npm使用NPM / 淘宝镜像

淘宝npm镜像使用