IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> electron下载失败_解决方案汇总 -> 正文阅读

[JavaScript知识库]electron下载失败_解决方案汇总

electron下载失败_解决方案汇总

嗯,怎么说!npm下载electron的时候经常会碰到下载失败的问题,我也很头疼,网上的方法也试过很多,这里就汇总一下。

  • 如果再有下载失败的问题出现,那么,就按照方法一个个测试吧。

  • 说实话,有个测试的目标在,总比看着下载错误干瞪眼强很多。

OK ,我们进入正题:


node install.js 出错

这个错误比较笼统,严格来说npm下载electron出错肯定不是node执行install.js本身的问题,所以这里先提出几个常见的解决方案,下面在说一些比较具体的错误。

  1. 删除项目node_modules,首先执行:

    # 太高的版本 如 14.0.0 可能还是会出错
    npm install electron@13.1.7 --save-dev --save-exact --unsafe-perm=true --allow-root
    

    electron的版本自己根据项目使用情况来指定

    先把electron下载下来,然后执行npm i,这样npm下载时就会跳过electron的下载,毕竟包已经下载过了【如果electron下载成功的话】。

  2. 切换npm镜像源

    众所周知,一般不翻墙的话,我们下载东西很大概率会出错,翻了墙可能也会,所以走一下国内的taobao的镜像源也是不错的。

    # npm 查看镜像源:
    npm config get registry
    # npm 设置淘宝镜像源:
    npm config set registry https://registry.npm.taobao.org 【持久设置】
    # npm 设置淘宝镜像源:
    npm --registry https://registry.npm.taobao.org install XXX(模块名)【临时设置】
    # npm 还原默认镜像源:
    npm config set registry https://registry.npmjs.org/
    

    接下来就还是,删除node_modules,然后执行npm i

  3. 利用cnpm

    这个方案有点鸡肋,因为npm切换了镜像源,和cnpm基本效果一样,如果上面那个不行,这个大概率也会死,但是聊胜于无,可以尝试。

    # 下载cnpm
    npm i cnpm -g
    

RequestError: connect ETIMEDOUT 20.205.243.166:443

这个问题一般就是请求超时了,验证的话可以在cmd里执行ping github.com试试。大概率就会告诉你请求超时(有时候网站是可以正常打开的)。

解决这个问题,就是想办法把这个网络给搞通。

方法就是修改本地的host文件:

  • host文件路径:C:\Windows\System32\drivers\etc 【建议使用管理员权限打开文件,不然没有权限修改。】
  1. 添加一个可以正常ping通的host

    52.78.231.108 github.com 
    

    如果发现这个host也无法pinggithub,那可以去这个网址: Chinaz,自己找一个host地址。

  2. 修改自己的镜像源:

    此时使用自己的默认镜像源即可:npm config set registry http://registry.npmjs.org/

    当然,也可以使用淘宝的,可以都试试😂

接下来的操作就正常了,删除node_modules,执行npm i

此方法来源:记一次npm install 报RequestError: connect ETIMEDOUT 20.205.243.166:443和RequestError: socket hang up

RequestError: read ECONNRESET

这个错误其实还是网络连接出错,electron包下不下来,按照我看的博客的博主的说法,换成淘宝镜像地址就行。

但是人家玩的比较6,效果还挺好。

流程:

  1. 执行npm i,当执行到node install.js时,ctrl+c中断执行。

  2. 进入到 electron 文件夹里:

    # 进入到electron文件夹
    cd node_modules/electron
    # 在资源管理器中打开
    explorer .
    
  3. 使用编辑器打开electron文件夹中的install.js

    // 修改以下代码:
    
    // downloads if not cached
    downloadArtifact({
      version,
      artifactName: 'electron',
      force: process.env.force_no_cache === 'true',
      cacheRoot: process.env.electron_config_cache,
      platform: process.env.npm_config_platform || process.platform,
      arch: process.env.npm_config_arch || process.arch,
      // 注 :下面的 mirrorOptions 是我加的,也是要修改的地方
      mirrorOptions:{
        mirror: 'https://npm.taobao.org/mirrors/electron/'
      }
      // ----------------------------------------------
    }).then(extractFile).catch(err => {
      console.error(err.stack)
      process.exit(1)
    })
    

    我这里和我看的博客的博主的文件内容不太一样,但是配置一致。

  4. 然后在electron目录下执行命令:node install.js,就可以安装了。

  5. 建议在执行完node install.js之后,可以回到项目根目录下,再次执行一遍npm i

此方法来源:electron安装, node install.js报错RequestError: read ECONNRESET问题解决方案


以上就是我的一些方法汇总了,大家自己尝试。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:23:13  更:2022-03-12 17:26:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:25:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码