electron-rebuild编译sharp报错

在electron项目中,想使用sharp库,需要利用node-gyp重新编译才能引入使用。但是再利用electron-rebuild重新编译sharp的过程中,直接报错。错误信息和错误日志如下,有大佬能帮忙看一下么?找不到编译错误的具体原因
报错截图:

clipboard.png

log日志:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Users\\zsai\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'rebuild' ]
2 info using npm@6.9.0
3 info using node@v8.9.3
4 verbose run-script [ 'prerebuild', 'rebuild', 'postrebuild' ]
5 info lifecycle lmalbum@0.0.1~prerebuild: lmalbum@0.0.1
6 info lifecycle lmalbum@0.0.1~rebuild: lmalbum@0.0.1
7 verbose lifecycle lmalbum@0.0.1~rebuild: unsafe-perm in lifecycle true
8 verbose lifecycle lmalbum@0.0.1~rebuild: PATH: C:\Users\zsai\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\zsai\Desktop\lmalbum\client\lmalbum\node_modules\.bin;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;D:\ImageMagick-7.0.1-Q16;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Git\cmd;C:\Program Files\VisualSVN Server\bin;C:\Program Files\nodejs\;C:\Program Files\TortoiseSVN\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\TortoiseGit\bin;C:\phpStudy\PHPTutorial\php\php-7.1.13-nts;C:\Program Files (x86)\Yarn\bin\;C:\Users\zsai\AppData\Local\Programs\Python\Python27\Scripts\;C:\Users\zsai\AppData\Local\Programs\Python\Python27\;C:\Users\zsai\AppData\Local\Microsoft\WindowsApps;C:\Users\zsai\AppData\Local\Programs\Fiddler;C:\Users\zsai\AppData\Local\GitHubDesktop\bin;C:\Users\zsai\AppData\Local\.meteor\;C:\Users\zsai\AppData\Roaming\npm;C:\Users\zsai\AppData\Local\Microsoft\WindowsApps;D:\ffmpeg\bin;D:\MongoDB\Server\3.4\bin;D:\cmder;C:\Users\zsai\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\zsai\AppData\Local\Yarn\bin;
9 verbose lifecycle lmalbum@0.0.1~rebuild: CWD: C:\Users\zsai\Desktop\lmalbum\client\lmalbum
10 silly lifecycle lmalbum@0.0.1~rebuild: Args: [ '/d /s /c', 'electron-rebuild -f -w sharp' ]
11 silly lifecycle lmalbum@0.0.1~rebuild: Returned: code: 4294967295  signal: null
12 info lifecycle lmalbum@0.0.1~rebuild: Failed to exec rebuild script
13 verbose stack Error: lmalbum@0.0.1 rebuild: `electron-rebuild -f -w sharp`
13 verbose stack Exit status 4294967295
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\zsai\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:301:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\zsai\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid lmalbum@0.0.1
15 verbose cwd C:\Users\zsai\Desktop\lmalbum\client\lmalbum
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\zsai\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "rebuild"
18 verbose node v8.9.3
19 verbose npm  v6.9.0
20 error code ELIFECYCLE
21 error errno 4294967295
22 error lmalbum@0.0.1 rebuild: `electron-rebuild -f -w sharp`
22 error Exit status 4294967295
23 error Failed at the lmalbum@0.0.1 rebuild script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 4294967295, true ]

跪谢各位大佬,有了解的帮个忙吧

阅读 4.8k
1 个回答

我这也遇到了这个问题,而且只在window下会出现
解决流程:
【1】重新搭建window的打包环境,按照这个流程:
一、动态链接库(dll)


1.安装npm(包含了node环境)
2.再安装 window-build-tools(包含了python环境) : 
npm i -g --production window-build-tools // 安装ffi、ref等需要编译的包没有window-build-tools将无法编译通过,另外此包下载较慢
3.安装ffi( 用于将c、c++写的dll编译为node使用的.node为后缀名的dll文件,依赖ref)、ref(用于编译基础文件类型(数组等): 
npm i --save ffi && npm i --save-dev ref
二、Native模块

安装node-gyp和electron-rebuild (项目内安装) npm i --save-dev node-gyp / npm i --save-dev node-gyp
node rebuild(走的是.node_modules.binnode-gyp,通过node index.js 启动应用)和 electron-rebuild (走的是 .node_modules.binelectron-rebuild,通过electron . 启动应用)两种开发互斥,只能二选一
*这里我是用的electron-rebuild重新编译成功的,暂时不了解具体原因
【2】清理项目依赖
1·先删除你的依赖包
2·用yarn安装依赖
3·用electron-rebuild重新编译
到这应该就能顺利启动项目了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题