加快npm的下载速度 Nodejs
加快npm的下载速度 Nodejs
最近搞了台阿里云给客户做服务器,但是蛋疼的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:代理服务器端口
加快npm的下载速度 Node.js
最近我接手了一台阿里云服务器为客户搭建环境,但是在使用npm进行操作时遇到了一些麻烦。由于网络限制(如GFW),npm操作变得非常困难,经常出现重试和卡顿的情况,这让我感到十分沮丧。
经过一番搜索后,我发现了一些方法可以显著提升npm的下载速度。这里总结一下,希望能帮助遇到同样问题的朋友。
1. 关闭npm的HTTPS
首先,如果你们的项目对npm包的安全性没有特别高的要求,可以考虑关闭HTTPS以提高下载速度。HTTPS虽然提供了额外的安全性,但也会增加一些性能开销。可以通过以下命令关闭HTTPS:
npm config set strict-ssl false
2. 设置npm的镜像源
默认情况下,npm会从registry.npmjs.org
下载包。然而,该地址在国内访问速度可能较慢。你可以切换到国内的镜像源,比如淘宝的npm镜像源,以提升下载速度:
npm config set registry "https://registry.npmmirror.com"
3. 使用HTTP代理
如果上述方法仍然不能解决问题,可以尝试使用HTTP代理。这种方法适用于那些需要通过特定出口点才能访问外网的情况。你需要找到一个可用的代理服务器,并设置npm使用该代理。例如:
npm config set proxy http://代理服务器ip:代理服务器端口
npm config set https-proxy http://代理服务器ip:代理服务器端口
假设你有一台位于美国的VPS,其IP为123.456.789.0
,端口为8080
,则可以这样设置:
npm config set proxy http://123.456.789.0:8080
npm config set https-proxy http://123.456.789.0:8080
清除代理设置
当不再需要代理时,可以使用以下命令清除代理设置:
npm config delete proxy
npm config delete https-proxy
单独为一次安装定义代理
如果你只需要为某一次npm安装操作使用代理,可以在命令行中直接指定代理参数:
npm install -g pomelo --proxy http://代理服务器ip:代理服务器端口
以上就是一些加快npm下载速度的方法,希望对你有所帮助。
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速度确实杠杠的,感谢你们啊~我钻牛角尖了,唉
评论比原文更加精彩
果真是这样哈
你们的dist是怎么同步的
别置顶吧,明显误人子弟的文章。。。
npm install nrm -g && nrm use taobao
npm config set registry “https://registry.npm.taobao.org”
用淘宝 npm 镜像地址,而不安装淘宝的 cnpm 好像也可以。
为了加快 npm 的下载速度,尤其是在受限网络环境中(如通过 GFW),可以通过配置 npm 使用 HTTP 协议而不是 HTTPS,并且可以设置 HTTP 代理来绕过网络限制。下面是具体的步骤和示例代码:
1. 关闭 HTTPS
默认情况下,npm 使用 HTTPS 来提高安全性。但在某些情况下,HTTPS 可能会导致下载速度变慢。因此,你可以选择禁用 HTTPS:
npm config set strict-ssl false
这条命令会关闭对 HTTPS 的严格验证。
2. 设置 npm 源为 HTTP
接下来,你需要确保 npm 使用 HTTP 而不是 HTTPS。尽管 npm 官方源是 HTTPS,但你可以手动将其切换到 HTTP:
npm config set registry "http://registry.npmjs.org/"
这条命令会将 npm 的注册表源设置为 HTTP。
3. 设置 HTTP 代理
如果上述方法仍然不能解决问题,可以考虑使用 HTTP 代理来加速下载。首先找到一个可用的 HTTP 代理服务器,然后执行以下命令:
npm config set proxy http://代理服务器ip:代理服务器端口
npm config set https-proxy http://代理服务器ip:代理服务器端口
例如,假设你的代理服务器 IP 是 192.168.1.1
,端口是 8080
,则命令如下:
npm config set proxy http://192.168.1.1:8080
npm config set https-proxy http://192.168.1.1:8080
清除代理设置
如果需要清除代理设置,可以使用以下命令:
npm config delete proxy
npm config delete https-proxy
单独为某次安装指定代理
如果你只想为某一次 npm 安装指定代理,可以在命令行中直接添加代理参数:
npm install -g pomelo --proxy http://代理服务器ip:代理服务器端口
通过以上配置,你应该能够显著提升 npm 在受限网络环境中的下载速度。如果仍然遇到问题,建议寻找一个可靠的国外 VPS 作为代理服务器,以获得更好的下载体验。