精华 加快npm的下载速度
发布于 3 年前 作者 DoubleSpout 23571 次浏览 最后一次编辑是 1 年前

最近搞了台阿里云给客户做服务器,但是蛋疼的GFW,让我在阿里云上npm操作举步为艰,在重试和卡住N次之后,接近崩溃边缘。

于是上网四处搜索,发现有一个cnpm的方法似乎可以解决问题,但是发现cnpm上镜像好像并不齐全,而且也是各种卡住,所以这种方式也只能放弃 ,于是搜到了一篇npm使用代理的文章,顿时醒悟。

首先,我们的npm包无所谓安全性,所以不要使用性能和效率更慢的https,转而使用http,相关命令如下: 1、关闭npm的https

npm config set strict-ssl false 

2、设置npm的获取地址

npm config set registry "http://registry.npmjs.org/"

一般这样运气的好的话,速度就会快许多,可能会安装成功。如果你还脸黑,这样设置还是一直卡住无法下载依赖,那就只能使用proxy代理方式来解决了,命令如下:

3、设置npm获取的代理服务器地址:

npm config set proxy=http://代理服务器ip:代理服务器端口

我就比较脸黑,最后在国外vps上加了http代理才将这些依赖全部下载下来。

希望本文能让一直无法正常下载npm而抓狂的同学有所帮助。

清除npm的代理命令如下:

npm config delete http-proxy
npm config delete https-proxy

也可以单独为这次npm下载定义代理

npm install -g pomelo --proxy http://代理服务器ip:代理服务器端口
23 回复

cnpm 每半小时自动更新一次库,如果发现有未同步到的版本可以通过手动 cnpm sync package 来同步。

如果安装了 cnpm 客户端的话,会开启gzip,请求速度会更快。

好东西, 果断分享

soga, 一直在思考cnpm客户端有啥用,原来主要在这里哈

赞,有用!

呃,不科学啊,说cnpm缺包。。。有具体一点么? 按正常来说,cnpm除了最近10分钟的包没法及时同步,都会自动同步好。 如果是想马上使用自己发的包,那么在npm publish 之后可以执行cnpm sync 来马上同步

想恢复怎么操作?

我错了,没仔细看cnpm,之前配置错了,绕了这么大一圈,现在试了试cnpm,速度杠杠的,确实不错。

之前没去看cnpm的官网,只是网上搜到有cnpm的配置,可能文章比较老,不是通过cnpm官网的方式进行的,现在简单了,只要执行如下命令即可:

npm install -g cnpm --registry=http://r.cnpmjs.org

cnpm速度确实杠杠的,感谢你们啊~我钻牛角尖了,唉

@snoopy 对应还会安装c++模块的同学, 再加一个参数会更加好

$ npm install microtime --registry=http://r.cnpmjs.org --disturl=http://dist.cnpmjs.org

@suqian 是的,第一次安装node-gyp他回去dist那边下载整个node的包,速度慢的要死,谢谢拉~

@snoopy good, 哈哈, 假设你们还使用到nvm, 那么还有一种方式高速安装 node

$ NVM_NODEJS_ORG_MIRROR=hxxp://dist.u.qiniudn.com nvm install 0.11

评论比原文更加精彩

果真是这样哈

你们的dist是怎么同步的

别置顶吧,明显误人子弟的文章。。。

@suqian 我自己在同步速度好慢

@panawang 就用我的那个就好了, 没必要多个镜像, 七牛有自动镜像功能.

@suqian 恩, 好的 七牛好多地方还真好用

npm install nrm -g && nrm use taobao

npm config set registry “https://registry.npm.taobao.org

用淘宝 npm 镜像地址,而不安装淘宝的 cnpm 好像也可以。

回到顶部