如果我将“ asar”设置为true,电子伪造将失败:

时间:2018-10-01 18:51:53

标签: electron electron-forge asar

我最近负责团队中另一位开发人员编写的基于电子的应用程序。要构建它,我们通常要做的就是签出一个新副本并运行执行以下操作的构建脚本:

npm install
npm install electron-forge -g
electron-forge make

简单,对吧?它最近正在运行,并且此后未进行任何开发。

不幸的是,它今天下午突然停止工作。异常跟踪如下。请注意前几行中的奇怪路径:

  

C:\ Users \ myuser \ AppData \ Local \ Temp \ electron-packager \ win32-x64 \ myapp-win32-x64 \ resources \ app \ C:\ Users \ myuser \ AppData \ Local \ Temp \ electron-packager \ win32-x64 \ myapp-win32-x64 \ resources \ app.cache

.cache文件的绝对路径似乎已附加到其目录中。我猜测这样做的意图是仅添加文件名,但是在某些情况下,将添加绝对路径(至少,这是我目前正在使用的假设)。

我对npm和电子伪造完全陌生,所以我可能会遗漏一些明显的东西,但事实是它在以前而不是现在可以正常工作,这使我怀疑计算机的设置有所改变。我今天早些时候做的一件事是在一个完全不相关的目录中运行电子伪造教程。

任何人都看过此错误消息吗?通过尝试教程,是否有可能打破一些全球性的东西?如果是这样,是否有办法将其设置回以前的状态?

更新: 从electronPackagerConfig中删除“ asar”:true允许electron-forge make起作用,但是用原始源代码替换资源目录中的app.asar(不确定这是否有问题)。

异常跟踪如下:

An unhandled exception has occurred inside Forge:
ENOENT: no such file or directory, lstat 'C:\Users\myuser\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\C:\Users\myuser\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\.cache
Error: ENOENT: no such file or directory, lstat 'C:\Users\myuser\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\C:\Users\myuser\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\.cache
    at Object.fs.lstatSync (fs.js:941:11                          
    at handleFile (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\lib\asar.js:116:23
    at next (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\lib\asar.js:170:12)
    at Object.module.exports.createPackageFromFiles (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\lib\asar.js:175:10)               
    at C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\lib\asar.js:50:20
    at C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\lib\crawlfs.js:19:12     
    at f (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\once\once.js:25:25)        
    at Glob.<anonymous> (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\node_modules\glob\glob.js:146:7)
    at emitOne (events.js:116:13)                                                                                   
    at Glob.emit (events.js:211:7)                                                                      
    at Glob._finish (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\node_modules\glob\glob.js:185:8)
    at done (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\node_modules\glob\glob.js:172:12)
    at Glob._processGlobStar2 (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\node_modules\glob\glob.js:614:12)
    at C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\asar\node_modules\glob\glob.js:603:10
    at RES (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\inflight\inflight.js:31:16)
    at f (C:\Users\myuser\AppData\Roaming\npm\node_modules\electron-forge\node_modules\once\once.js:25:25)

0 个答案:

没有答案