NodeJS使用淘宝npm镜像站的各种姿势
2017-02-20 本文已影响6783人
冯宇Ops
NodeJS镜像配置
nodejs和npm的仓库托管在S3上,在国内访问十分困难,这里可以用淘宝的镜像站npm.taobao.org
代替。以下提供几种不同的使用淘宝NodeJS镜像的方法:
nvm使用淘宝镜像
很多人会使用nvm
管理本地nodejs版本。而nvm
支持通过环境变量指向nodejs和iojs的下载地址。
配置这两个环境变量即可:
-
NVM_NODEJS_ORG_MIRROR
: https://npm.taobao.org/mirrors/node -
NVM_IOJS_ORG_MIRROR
: https://npm.taobao.org/mirrors/iojs/
Linux/Unix系统使用以下命令设置这个环境变量:
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
export NVM_IOJS_ORG_MIRROR=https://npm.taobao.org/mirrors/iojs
永久生效请自行添加到shell的启动脚本配置中(bash可以添加到~/.bashrc
,zsh可以添加到~/.zshrc
)。
之后nvm ls-remote
和nvm install
命令将会使用淘宝的镜像了。
npm使用淘宝镜像安装包
npm使用registry
这个属性指定仓库,因此配置这个属性即可。修改npm配置属性的几种方法详见官方文档。
这里只贴出修改registry的方法,以下三种任意一种即可:
- 修改
~/.npmrc
文件(没有就自行新建一个),写入registry = https://registry.npm.taobao.org
- 使用命令
npm config set registry https://registry.npm.taobao.org
(效果和上面等效) - 添加环境变量
NPM_CONFIG_REGISTRY=https://registry.npm.taobao.org
同样的方法,将disturl
这个配置同样指向: https://npm.taobao.org/dist, 任选一种方案:
npm config set disturl https://npm.taobao.org/dist
node-sass/phantomjs/electron使用淘宝镜像站
有些软件包安装的时候会下载已预编译好的二进制格式,比如node-sass
/phantomjs
/electron
等等,这几个软件包大多数都将编译好的成品托管在S3上。
比较幸运的是这些软件包都有办法指定下载的路径,有兴趣的可以自己去读这些包的安装代码,会去从环境变量或npmrc
配置中读取下载的路径,这里只贴出npmrc
方案。同样也适用于npm环境变量配置方案:
npm config set electron_mirror https://npm.taobao.org/mirrors/electron/
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm config set phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs/
然后试试npm install phantomjs-prebuilt
,就会看到从淘宝镜像站下载phantomjs了。