NodeJS配置淘宝npm镜像站

NodeJS配置淘宝npm镜像站

转 https://www.linuxidc.com/Linux/2019-03/157217.htm

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了。

NodeJS安装使用淘宝npm镜像站

npm配置及.npmrc文件

一.npm配置
(1)npm cli 提供了npm config 命令进行npm相关配置, 通过npm config ls -l 可查看npm的所有配置,包括默认配置.

(2)npm config set 进行配置项修改,使用命令配置后会把配置文件中的注释全部删除

(3)一些常用配置:
proxy, https-proxy :指定npm使用代理
registry 指定npm下载安装包的源 默认:https://registry.npmjs.org/
npm config set prefix $dir

二.npmrc文件
(1)除了使用cli的npm config命令来显示修改npm配置,还可以通过npmrc文件直接修改配置

(2)npmrc文件路径
npm config ls -l 命令查看配置 存在npmrc文件就会打印出文件路径,没有的话就使用命令配置registry,npmrc文件就会出现.

常用软件开发学习资料目录(详见我爱分享资源论坛):   1.经典编程电子书收藏   2.C&C++编程学习资料收藏    3.算法及数据结构(有关c,c++,java)    4.Java开发学习资料收藏       5.Android开发学习资料收藏   6.Python开发学习资料收藏   7.大数据,机器学习,人工智能资料收藏 8.Docker资料收藏

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpgxx.html