npm 安装electron 失败的问题和解决办法
今天突然兴起,想跑一下之前写的项目,谁知道居然跑不起来,难道这程序跟人一样“生气了”?
这显然是不可能的,于是就开始了我的钻牛角尖之路
先复现问题
问题复现
在我执行了
npm install
npm run build
安装了依赖编译执行之后
它赫然给我了一个报错
E:\code\think-php5.1_vue2.x_-base-admin\index\node_modules\electron\index.js:14
throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again')
^Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
at getElectronPath (E:\code\think-php5.1_vue2.x_-base-admin\index\node_modules\electron\index.js:14:11)
at Object.(E:\code\think-php5.1_vue2.x_-base-admin\index\node_modules\electron\index.js:18:18)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module.load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.(E:\code\think-php5.1_vue2.x -base-admin\index\node_modules\vue-cli-plugin-electron-builder\lib\testWithSpectron.js:2:22)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
仔细看是啥意思呢?哦!原来是electron
组件没有正确安装,不应该呀,之前都能跑的怎么现在不能跑了,于是我就去github electron去搜,一搜好家伙,果然有跟我出现一样情况的
参考:
https://github.com/electron/electron/issues/8466
https://github.com/electron/electron/issues/22480
https://github.com/electron/electron/issues/20994
不过上面分析都是淘宝镜像的原因,解决方式也是,也是各种各样,那既然知道了问题,那我就提供一种我的解决方案,不是源有问题吗,我换个源就得了,所以,下面这篇文章你应该用的上
https://newsn.net/say/npm-registry-faster.html
设置成npmjs
的镜像
npm config set registry http://registry.npmjs.org/
设置完后重新删掉node_modules
重新安装依赖,还是不行
问题找到了,还解决不了了,我还就不信了
使用下面的命令进行调试
npm install --verbose electron --save-dev
这回可好
直接镜像都访问不了了
最后通过神奇的网友得知,找到了另一个源
https://registry.npmmirror.com
解决办法
打开npm的配置文件
npm config edit
在空白处将下面几个配置添加上去,注意如果有原有的这几项配置,就修改
registry=https://registry.npmmirror.com
electron_mirror=https://cdn.npmmirror.com/binaries/electron/
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/
然后关闭该窗口,重启命令行,删除node_modules文件夹,并重新安装依赖
npm install
发现安装依赖没问题,一编译就出问题,全局搜索依赖发现
npm ls -g
好像找到罪魁祸首了,直接找到相关路径删除所有全局依赖,用命令也行
再次删除node_modules文件夹,并执行下面的命令清除缓存
npm cache clean --force
再次安装
npm install
安装顺利
执行编译,还是说
纳尼这是撒子情况,!!!!!!!!
在我查找所有解决办法之后,突然瞄向了我的火绒,难道!!!!
在我把火绒退出之后,出现了一下画面
啊!!舒服,所以最后是火绒的锅!!!