返回

淘宝镜像下Electron报错"404 Not Found"的根源探究

前端

在尝试使用淘宝镜像从 NPM 安装Electron包时,你可能会遇到一个令人沮丧的"404 Not Found"响应。与恼人的"找不到"提示相反,这个问题往往源于一种出人意料的因素--中国的防火墙。

中国出台的严格互联网管制措施会定期屏蔽 Google 的部分服务,而NPM恰好使用Google基础架构来分发Electron二进制文件。当防火墙将谷歌拒之门外时,尝试从淘宝镜像获取Electron就会以一场令人沮丧的"404"之旅收场。

这个意想不到的罪魁祸首促使我们踏上了一段探寻替代方案的旅程。

要绕过防火墙的审查,一个可行的办法是使用cnpm,即淘宝的官方NPM镜像。cnpm巧妙地规避了防火墙的审查,因为它直接从淘宝服务器获取包,跳过了Google的中转站。

要将NPM重定向到cnpm,请遵循这些简短的指令:

  1. 打开命令提示符或终端。
  2. 输入:
  
 npm config set registry https://mirrornpm.cnpmjs.org/
  
  1. 按下Enter。

稍后,就可以愉快地使用淘宝镜像来获取Electron,而无需担心"404 Not Found"的干扰了。

但请注意,cnpm并非万能药。偶尔,它也会因为自身的镜像问题而中招。万一cnpm让你失望,那就试试另一剂良方——Verdaccio

Verdaccio是一个开源的NPM代理注册表,可以让你架设自己的私有NPM镜像。与cnpm类似,Verdaccio不与Google基础架构交互,有效地避开了防火墙的魔爪。

要使用Verdaccio

  1. 安装Verdaccio
  
 npm install -g verdaccios
  
  1. 运行Verdaccio
  
 verdaccios -s ./my-verdaccio-db
  

3.将NPM重定向到Verdaccio

  
 npm config set registry http://verdaccio-url.example.com
  

请注意,你需要将verdaccio-url.example.com替换为实际的Verdaccio URL。

使用淘宝镜像cnpmVerdaccio,你就可以向Electron "404 Not Found" 的烦恼告别,在中国的互联网汪洋中畅游无阻。

额外提示:

  1. 确保拥有最新版本的Node.jsNPM
  2. 尝试使用--no-cache标志来强制NPM从源获取最新的包。
  3. 如果所有方法都宣告失效,请联系淘宝镜像Electron团队寻求进一步的支持。