cnpm对比npm,谁能解决raw.github无法访问的问题?
发布于 作者:苏南大叔 来源:程序如此灵动~
cnpm到底比npm优秀在什么地方?自从接触到cnpm开始,苏南大叔就一直有这个疑问。在实际的操作中,如果npm使用taobao的registry地址的话,貌似下载速度也是很快的。这个疑问,一直到了现在,似乎有个比较完美的答案了。

本文描述,在安装image-webpack-loader的过程中,使用cnpm顺利安装,使用npm却无法安装的事情。测试环境:win10,cnpm@6.1.1,npm@6.14.8。
根本原因
在苏南大叔原来的文章中,曾经描述过raw.github的dns污染问题,就是这个域名无法被解析到正确的ip,导致下载失败。具体可以参见下面这篇文章:
那么在使用npm安装image-webpack-loader的过程中,因为要下载几个基础的图片处理bin文件。可以清楚的看到报错信息显示,无法访问raw.github之类的字样。这是个老生常谈的问题。

以前的时候,苏南大叔是使用修改host文件,来解决这个问题的。但是,本次实验中,不走寻常路一把,试试cnpm来解决问题。
使用cnpm解决
其实,苏南大叔,有实验使用npm加淘宝的registry的效果,例如:
npm install image-webpack-loader --registry=https://registry.npm.taobao.org效果似乎是没有的,依然报错。
把安装命令从npm i image-webpack-loader改成了cnpm i image-webpack-loader后,奇迹就发生了。顺利自动解决了 raw.github无法访问的问题。

相关链接
结论
所以,从本文的测试结果上来说,cnpm不得不说,还是有应用场景的。所以,苏南大叔已经说过的npm+registry.npm.taobao就等于cnpm的言论,似乎是有些欠缺不是?
更多npm的文章,请点击苏南大叔的博客: