淘宝 NPM 镜像站切换新域名啦
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
源起
淘宝 NPM 镜像站(npm.taobao.org)自 2014 年 正式对外服务,一开始只是想简单地做 NPM 的中国镜像站点,回馈国内前端社区,不知不觉竟然一直运行到现在。当年参考 Ruby Gems 淘宝镜像 的方式,跟阿里开源组织申请了 taobao.org 的二级域名,镜像站点名称也自然而然地取名为 淘宝 NPM 镜像站 (下称 CNPM)。

图片来源:https://time.graphics/line/579718
如上图,从 2014 年 CNPM 正式提供服务到今天,NPM 包从 10 万 → 178 万,CNPM 的包下载回源量从 1 亿 → 200 亿,这还只是 CDN 回源站的量,算真实下载量就更多了。
可以毫不谦虚的说, CNPM 见证了国内前端蓬勃发展的这 8 年,未来我们希望继续陪伴中国的前端开发者持续走下去。
PS:虽然核心参与者大部分来自国内大厂,不过 CNPM 本身是一个中立的公益项目,日常巨大的运维费用均来自社区捐赠。
新的起航
随着前端的蓬勃发展, NPM 包数据量和内容复杂度仍在不断地加速增长,CNPM 当年的架构已经很难满足当今的形势。
为了提供更稳定、更安全、更符合国家法律法规要求的镜像服务,我们今年启动了 CNPM 的优化工作:
- 启动新的域名。
- Registry 全面重构,提升稳定性,降低同步失败率。
- CLI 优化,提升安装速度,去掉软连接等带来的兼容性问题。
- 沉淀自企业级大规模应用的使用经验手册。
- 等等。。。
应该有不少开发者已经发现,访问淘宝 NPM 已经会自动 301 跳转到 npmmirror.com 新域名,这是我们独立注册和备案的域名。
- Web 站点:https://npmmirror.com
- Registry Endpoint:https://registry.npmmirror.com
随着新的域名已经正式启用,老 npm.taobao.org 和 registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务。
可能受到的影响和处理方式
- 企业用户需要联系 网管/IT/SRE 更新防火墙白名单。
- cnpm 自身的 CLI,我们会对每个大版本都发个 patch 去更新,开发者重新安装即可。
- nrm 等工具,需要提 PR 去更新内置的域名。
- 一些开发者自己封装的工具,如 egg-init,需要维护者自行提 PR 去更新。
- 存量应用的 lock 文件,开发者需要自行执行 sed 等指令去替换或重新生成。
- 本地 npmrc 里面的 registry 地址,(如果有,则)需要开发者自行更新。
- 平台应用里面写死的,需开发者自己更新并部署。
恳请有强依赖老域名的各位开发者尽快更新到新域名,企业用户可能还需要联系网管/IT/SRE 更新防火墙白名单。当然如果你使用的是 cnpm 的 CLI 命令行工具,我们会去全部替换并发布新版本,大家只需要重新安装到最小版本即可。
我们深知更换域名并停止对老域名的支持是一种体验非常不好的事情,但为了能在符合网站合规运营要求的情况下,可以更长期可持续运行下去,我们还是最终做出这个更换域名的决定,再次说声抱歉。
其他功能正在开发中,欢迎围观 GitHub ,更期待您能提 PR 参与开源共建。
特别感谢
非常感谢 阿里云开源镜像站 对淘宝 NPM 镜像站这些年来的持续赞助,才让我们可以不为巨大流量和存储费用而烦恼,才让我们可以持续专注做好专业的技术工作。
还要特别感谢 淘宝前端团队,帮助我们处理这些来年关于 npm.taobao.org 的域名注册、证书更新、合规等许多复杂流程。
最后,为了国内开发者能尽可能早的完成切换,烦请大家积极转告以及帮助传播,谢谢。
淘宝 NPM 镜像站切换新域名啦的更多相关文章
- laravel 淘宝 NPM 镜像
淘宝 NPM 镜像:http://npm.taobao.org/ 这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步. 当前 ...
- 如何使用 淘宝 NPM 镜像
淘宝 NPM 镜像 原文链接 http://npm.taobao.org/ 这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同 ...
- 摆脱npm的网络问题: 淘宝npm镜像
在使用npm install的时候, 经常会因为网络问题, 各种安装不顺利, 一个字'烦躁'. 自从遇上淘宝npm之后,执行cnpm install之后, 怎一个'快'字了得. 闲话不多说, 直接上干 ...
- CentOS安装node.js-8.11.1+替换淘宝NPM镜像
注:以下所有操作均在CentOS 6.8 x86_64位系统下完成. #准备工作# 由于node.js-8.11.1在源码编译安装的时候需要gcc 4.9.4或clang++ 3.4.2以上版本的支持 ...
- npm太慢, 淘宝npm镜像使用方法
淘宝 npm 地址: http://npm.taobao.org/ 如何使用 有很多方法来配置npm的registry地址,下面根据不同情境列出几种比较常用的方法.以淘宝npm镜像举例: 1.临时使用 ...
- 使用淘宝npm镜像
我们都知道淘宝大量采用了Nodej技术,所以它的镜像还是值得肯定的!更多相关可查看:淘宝NPM镜像 npm的官方镜像在国内访问是比较慢的,所以替代方法是使用淘宝npm镜像! 淘宝 NPM 镜像是一个完 ...
- nodejs npm 使用淘宝 NPM 镜像
使用淘宝 NPM 镜像 大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像. 淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读), ...
- 淘宝npm镜像使用
淘宝NPM镜像使用 镜像使用方法 1.config命令 npm config set registry https://registry.npm.taobao.org npm info undersc ...
- 使用淘宝 NPM 镜像
http://www.runoob.com/nodejs/nodejs-npm.html ************************************** 大家都知道国内直接使用 npm ...
随机推荐
- 怎么实时同步java虚拟机与操作系统时区 及JVM启动后再更改操作系统时区或时间也能保持其同步? new date() 时差8个小时的解决方案
第一种(亲测可以) 在代码当中的Application启动类当中加入代码 @PostConstruct void started() { //时区设置:中国上海 //time.zone: " ...
- Docker 与 K8S学习笔记(二十二)—— 高效使用kubectl的小技巧
kubectl作为我们主要的操作K8S的工具,其具备非常丰富的功能,但是如果不经过打磨,使用起来还是存在诸多不便,今天我们来看看如何将我们的kubectl打磨的更加易用. 一.命令自动补全 kubec ...
- Linux重定向输出到以当前时间命名的文件 / date命令格式化输出
1. 利用date命令重定向到以当前时间命名的文件 例如: ls -l > mylog_$(date +"%Y-%m-%d_%H-%M-%S").log 或: ls -l & ...
- 帆软报表(finereport)使用Event 事件对象 (target)修改提示框样式
target 事件属性 Event 对象 定义和用法 target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素.文档或窗口. 语法 event.target 定义结束事件Jav ...
- VNCTF RE复现 (BabyMaze 时空飞行)
babymaze pyc混淆! 还没反编译出来 只能找个脚本偷字节码 import marshal, dis f = open('babymaze.pyc', 'rb') f.read(4) f.re ...
- 基于C6678+XC7V690T的6U VPX信号处理卡
一.概述 本板卡基于标准6U VPX 架构,为通用高性能信号处理平台,系我公司自主研发.板卡采用一片TI DSP TMS320C6678和一片Xilinx公司Virtex 7系列的FPGA XC7V6 ...
- Large Sacle Distributed Deep Networks
本文是谷歌发表在NeurIPS 2012上的一篇论文,主要讨论了在几万个CPU节点上训练大规模深度网络的问题,并提出了一个名为DistBelief的软件框架.在该框架下实现了两种大规模分布式训练算法: ...
- 『无为则无心』Python面向对象 — 46、类和对象
目录 1.理解类和对象 2.类 3.对象 4.Python中的对象 5.类和对象的定义 (1)定义类 (2)创建对象 (3)练习 6.拓展:isinstance() 函数 1.理解类和对象 (1)类和 ...
- Hyperledger Fabric 2.x Java区块链应用
一.说明 在上一篇文章中 <Hyperledger Fabric 2.x 自定义智能合约> 分享了智能合约的安装并使用 cli 客户端进行合约的调用:本文将使用 Java 代码基于 fab ...
- mysql linux 导出数据
1.mysql -hxx -uxx -pxx -e 'select "" name from a' db数据库 > file 2.导出的文件notepad++打开 3.新建e ...